Anda sedang melihat dokumentasi Apigee Edge.
Buka
Dokumentasi Apigee X. info
Tutorial berikut menjelaskan cara men-deploy aplikasi Node.js ke Edge menggunakan Target yang Dihosting, lingkungan runtime Node.js native yang dihosting oleh Apigee.
Tutorial tersebut akan memandu Anda melakukan tugas-tugas berikut:
- Men-deploy aplikasi Node.js ke Target yang Dihosting menggunakan UI Edge.
- Men-deploy aplikasi Node.js ke Target yang Dihosting dari mesin pengembangan lokal Anda.
- Memigrasikan proxy yang ada dengan proxy tradisional Implementasi target Edge Node.js ke Target yang Dihosting.
Men-deploy aplikasi Node.js ke Target yang Dihosting menggunakan UI Edge
Dalam tutorial ini, Anda akan men-deploy aplikasi Node.js sederhana ke Target yang Dihosting menggunakan Edge UI. Saat Anda menyelesaikan tutorial, Anda akan memahami struktur dasar dan isi dari proxy Target yang Dihosting dan cara mengakses file log deployment dan build.
Login
- Buka: apigee.com/edge
- Masukkan kredensial login Apigee Anda untuk login.
Buat proxy baru
- Di menu navigasi samping, pilih Develop > Proxy API.
- Klik + Proxy.
- Di halaman Create Proxy, pilih Hosted Target.
- Klik Berikutnya.
- Di kolom Proxy Name, masukkan
hello-hosted-targets
. - Pastikan "Hello World" Sample dipilih.
- Klik Berikutnya.
- Di halaman Keamanan, pilih Lewati (tidak ada) untuk Otorisasi.
- Klik Berikutnya.
- Klik Berikutnya.
- Di halaman Build, pastikan lingkungan test dipilih. Pemberitahuan bahwa Jenis Proxy adalah Target yang Dihosting.
- Klik Build and Deploy. Mungkin perlu waktu beberapa saat untuk menyelesaikan deployment proxy.
- Setelah proxy berhasil di-deploy, klik Lihat proxy yang dihosting oleh hello di bagian bawah halaman.
- Memanggil proxy API. Cara termudah untuk melakukannya adalah dengan membuka Trace
, mulai Trace
sesi, dan klik Kirim. Anda akan menerima status 200 dengan hal berikut
respons:
{"date":"2018-09-26T14:23:04.550Z","msg":"Hello, World!"}
Memeriksa proxy
- Di UI Edge, klik tab Develop.
- Di Navigator, pilih default di bagian Target Endpoints.
- Di editor kode, perhatikan bahwa ada turunan
<HostedTarget/>
yang kosong di bawah elemen<TargetEndpoint>
. Tag kosong ini tidak diperlukan. Ini memberi tahu Edge bahwa target proxy adalah aplikasi yang diterapkan ke Lingkungan Target yang Dihosting. - Di Navigator, perhatikan konten di bagian Skrip. Tujuan File aplikasi Node.js tercantum pada label dihosting.
- Di UI Edge, periksa file yang tercantum pada dihosting di Skrip:
- File app.yaml berisi informasi konfigurasi. Misalnya, Anda dapat menambahkan variabel lingkungan yang akan tersedia untuk aplikasi Node.js di waktu beroperasi. Anda tidak perlu mengubah file tersebut untuk contoh ini.
- File index.js adalah file utama aplikasi Node.js.
- Jika aplikasi Anda memiliki modul dependensi, keduanya harus tercantum dalam package.json.
Lihat file log
File log aplikasi dapat berguna untuk masalah proses debug yang terjadi selama fase build dan juga saat runtime.
- Di UI Edge, klik tab Develop.
- Untuk melihat log build, klik Build Logs.
- Untuk melihat log deployment, klik Runtime Logs.
Lihat juga Mengakses file log.
Ringkasan
- Anda telah men-deploy aplikasi Node.js sederhana ke lingkungan Hosted Targets dan menguji di UI Edge.
- Anda telah mengetahui bahwa proxy Target yang Dihosting memerlukan tag kosong khusus di bagian
Endpoint bernama
<HostedTarget/>
. - Anda telah mempelajari bahwa Edge memuat dependensi modul untuk Anda secara otomatis, dan dependensi tersebut
harus tercantum dalam file
package.json
. - Anda juga telah mempelajari cara memeriksa file log build dan runtime.
Men-deploy Node.js dari sistem Anda ke Edge
Bagian ini menjelaskan cara men-deploy aplikasi Node.js mandiri dari sistem lokal Anda ke
Target yang dihosting menggunakan apigeetool. apigeetool
utilitas memaketkan aplikasi Node.js ke dalam proxy Hosted Targets baru dan menerapkannya ke Edge.
Menginstal apigeetool
Menggunakan apigeetool adalah cara yang direkomendasikan bagi developer untuk men-deploy proxy kode ke Edge. Untuk menginstal apigeetool jalankan perintah NPM berikut:
npm install -g apigeetool
Membuat aplikasi Node.js
Untuk mempermudah, kode untuk aplikasi Node.js sederhana telah disediakan untuk Anda.
- Buat direktori untuk aplikasi Node.js. Panggil direktori node-hosted-express.
- cd ke direktori baru.
- Buat file bernama index.js dan salin kode ini ke dalamnya.
- Buat file bernama package.json, lalu salin kode ini ke dalamnya. Perhatikan bahwa modul express dicantumkan sebagai dependensi.
- Buat file bernama app.yaml, lalu salin kode ini ke dalamnya:
- Pastikan direktori Anda terlihat seperti ini:
ls app.yaml index.js package.json
var express = require('express') var app = express() app.get('/', function(req, res) { res.json({ hello: "Hello World!" }) }) app.get('/hello/:name', function(req, res) { var name = req.params.name res.json({ hello: "hello " + name }) }) var server = app.listen(process.env.PORT || 9000, function() { console.log('Listening on port %d', server.address().port) })
{ "name": "hello-world", "version": "1.0.0", "main": "index.js", "scripts": { "start": "node index.js --use_strict" }, "author": "", "license": "", "dependencies": { "express": "^4.16.0" } }
runtime: node runtimeVersion: 8 application: my-express-app env: - name: NODE_ENV value: production - name: LOG_LEVEL value: 3
Peninjauan struktur direktori yang diperlukan untuk kode aplikasi
Aplikasi Node.js Anda harus memiliki
struktur yang sama dengan aplikasi Node.js standar. Namun, pastikan Anda telah mengikuti
persyaratan sebelum men-deploy dengan apigeetool
ke Edge:
- File manifes app.yaml diperlukan dan harus ada di root aplikasi Anda. Untuk mempelajari file ini lebih lanjut, lihat file manifes.
- File package.json diperlukan. Daftar ini harus mencantumkan dependensi apa pun yang aplikasi Anda.
- Folder node_modules tidak diperlukan. Edge menjalankan npm install untuk Anda saat aplikasi Node.js di-deploy. Jadi dependensi dari package.json. Satu-satunya saat Anda perlu untuk secara eksplisit sediakan node_modules adalah jika Anda memiliki modul kustom yang tidak tersedia melalui npm.
Men-deploy proxy
- Di terminal, klik cd ke direktori root aplikasi Node.js Anda.
- Jalankan apigeetool dengan perintah deploy hoststarget:
apigeetool deployhostedtarget -o org -e env -n proxy-name -b /node-hosted-express -u username
dengan -n adalah nama yang ingin Anda berikan ke proxy baru. ID ini harus unik
di dalam organisasi. Karakter yang boleh Anda gunakan dalam nama dibatasi untuk
berikut ini: a-z0-9._\-$%
Contoh:
apigeetool deployhostedtarget -o myorg -e test -n node-hosted-express -b /node-hosted-express -u jdoe@apigee.com
Untuk informasi selengkapnya tentang penggunaan apigeetool, lihat https://github.com/apigee/apigeetool-node.
Menguji proxy
Anda dapat menguji proxy dengan perintah cURL, dengan klien REST seperti Postman, atau di UI Edge di alat Trace. Berikut adalah contoh perintah cURL.
curl http://myorg-test.apigee.net/node-hosted-express {"date":1506992197427,"msg":"hello-world"}
Mendapatkan Log Build
Log build menunjukkan output terkait dengan men-deploy dan membangun aplikasi Node.js. Lihat juga File log.
apigeetool getlogs -u username -o org -e env --hosted-build -n proxy-name
Contoh:
apigeetool getlogs -u jdoe@apigee.com -o myorg -e test --hosted-build -n node-hosted-express
Mendapatkan Log Runtime
Log runtime menampilkan output yang terkait dengan aplikasi yang sedang berjalan. Log runtime tercakup dalam lingkungan dan menampilkan log untuk revisi proxy yang saat ini di-deploy. Lihat juga File log.
apigeetool getlogs -u username -o org -e env --hosted-runtime -n proxy-name
Contoh:
apigeetool getlogs -u jdoe@apigee.com -o myorg -e test --hosted-runtime -n node-hosted-express
Melihat proxy di UI Edge
Setelah penerapan berhasil, Anda dapat melihat dan mengedit proxy di bagian Proxy API dari UI Edge.
Memigrasikan proxy Node.js yang ada ke proxy Target yang Dihosting
Bagian ini menjelaskan cara memigrasikan proxy Edge API yang ada secara manual yang menggunakan tradisional Implementasi target Node.js ke Target yang Dihosting. Dokumen ini juga menjelaskan cara men-deploy {i>proxy<i} setelah Anda telah melakukan langkah migrasi.
Langkah-langkah migrasi mempertahankan struktur proxy API, kebijakan, alur, dan elemen konfigurasi lainnya. Anda dapat melakukan migrasi dalam empat langkah, seperti yang diuraikan di bawah ini, lalu men-deploy proxy yang dimigrasikan dengan apigeetool.
Langkah 1: Sesuaikan struktur file proxy
Untuk menyesuaikan struktur file, proxy API harus ada di sistem file lokal Anda. Jika {i>proxy<i} adalah
yang digunakan di Edge, Anda harus mendownloadnya
sebelum melanjutkan. Dalam konfigurasi tradisional dan "paket" proxy Edge yang berisi kode Node.js akan mengikuti struktur file ini.
Kode aplikasi Node.js ditempatkan di direktori resources/node
:
apiproxy/ policies/ proxies/ targets/ resources/ node/ Your application code
Untuk Target yang Dihosting, Anda harus menempatkan direktori utama aplikasi Node.js Anda di
yang disebut resources/hosted
. Cukup buat direktori
baru bernama
resource/dihosting dan memindahkan konten resources/node
ke dalamnya. Kemudian, Anda dapat menghapus direktori resources/node
.
apiproxy/ policies/ proxies/ targets/ resources/ hosted/ Your application code
Langkah 2: Tambahkan file manifes
Membuat file manifes bernama app.yaml
dan meletakkannya di
apiproxy/resources/hosted
.
Berikut adalah contoh file app.yaml
. Ini menentukan bahwa runtime tersebut
Node.js (wajib). Ini juga membuat variabel lingkungan di lingkungan eksekusi
(variabel yang dapat diakses oleh aplikasi Node.js). Variabel lingkungan bersifat opsional
dan hanya ditampilkan di sini sebagai contoh. Untuk mengetahui detail dan contoh selengkapnya, lihat File manifes.
runtime: node
env:
- name: NODE_ENV
value: production
Contoh berikut menunjukkan struktur project Node.js yang berada di lokasi yang benar di
proxy untuk deployment Target yang Dihosting:
apiproxy/ resources/ hosted/ index.js node_modules/ app.yaml package.json
Langkah 3: Pastikan Anda memiliki file package.json
Dalam proxy Edge Node.js tradisional, package.json
adalah
opsional. Namun, untuk Target yang Dihosting, Anda harus memberikannya di direktori apiproxy/resources/hosted
. Pastikan
untuk menentukan dependensi yang diperlukan bagi aplikasi Anda dalam file ini.
Langkah 4: Ubah endpoint target proxy
Proxy Node.js tradisional memerlukan tag yang disebut <ScriptTarget>
ada di file endpoint target (biasanya /apiproxy/targets/default.xml
).
Untuk Target yang Dihosting, Anda perlu menambahkan tag kosong bernama <HostedTarget/>.
Jika ada tag ScriptTarget
di file, Anda cukup menghapusnya.
Contoh:
<?xml version="1.0" encoding="UTF-8"?> <TargetEndpoint name="default"> <Description /> <FaultRules /> <PreFlow name="PreFlow"> <Request /> <Response /> </PreFlow> <PostFlow name="PostFlow"> <Request /> <Response /> </PostFlow> <Flows /> <HostedTarget /> </TargetEndpoint>
Men-deploy proxy
Sekarang Anda dapat men-deploy proxy menggunakan perintah apigeetool deployproxy
.
- cd ke direktori root proxy Anda: /apiproxy
- Gunakan perintah ini untuk men-deploy proxy:
apigeetool deployproxy -u username -o org -e env -n proxy-name -d .
Contoh:
apigeetool deployproxy -u jdoe -o docs -e test -n hello-world -d .
Untuk informasi selengkapnya tentang penggunaan apigeetool
, lihat:
https://github.com/apigee/apigeetool-node/blob/master/README.md.
Menguji proxy
Anda dapat menguji proxy dengan perintah cURL, dengan klien REST seperti Postman, atau di UI Edge di alat Trace. Berikut adalah contoh perintah cURL:
curl http://myorg-test.apigee.net/hello-world Hello,World!