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 ini membahas 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 implementasi target Node.js Edge tradisional 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 UI Edge. Setelah menyelesaikan tutorial ini, Anda akan memahami struktur dan konten dasar proxy Target yang Dihosting dan cara mengakses file log build dan deployment.
Login
- Buka: apigee.com/edge
- Masukkan kredensial login Apigee Anda untuk login.
Membuat proxy baru
- Di menu navigasi samping, pilih Develop > API Proxies.
- Klik + Proxy.
- Di halaman Create Proxy, pilih Hosted Target.
- Klik Berikutnya.
- Di kolom Proxy Name, masukkan
hello-hosted-targets. - Pastikan Contoh"Halo Dunia" dipilih.
- Klik Berikutnya.
- Di halaman Keamanan, pilih Teruskan (tidak ada) untuk Otorisasi.
- Klik Berikutnya.
- Klik Berikutnya.
- Di halaman Build, pastikan lingkungan test dipilih. Perhatikan bahwa Proxy Type adalah Hosted Targets.
- Klik Build and Deploy. Mungkin perlu waktu beberapa saat hingga deployment proxy selesai.
- Setelah proxy berhasil di-deploy, klik View hello-hosted-targets proxy di bagian bawah halaman.
- Panggil proxy API. Cara termudah untuk melakukannya adalah dengan membuka tab Trace, memulai sesi Trace, dan mengklik Send. Anda akan menerima status 200 dengan respons
berikut:
{"date":"2018-09-26T14:23:04.550Z","msg":"Hello, World!"}
Periksa proxy
- Di UI Edge, klik tab Develop.
- Di Navigator, pilih default di bagian Target Endpoints.
- Di editor kode, perhatikan bahwa ada elemen turunan
<HostedTarget/>kosong di bawah elemen<TargetEndpoint>. Tag kosong ini wajib diisi. Kebijakan ini memberi tahu Edge bahwa target proxy adalah aplikasi yang di-deploy ke lingkungan Hosted Targets.
- Di Navigator, perhatikan konten di bagian Scripts. File
aplikasi Node.js tercantum di bagian label dihosting.

- Di UI Edge, periksa file yang tercantum di bagian hosted di Scripts:
- File app.yaml berisi informasi konfigurasi. Misalnya, Anda dapat menambahkan variabel lingkungan yang akan tersedia untuk aplikasi Node.js saat runtime. Anda tidak perlu mengubah file ini untuk contoh ini.
- File index.js adalah file utama aplikasi Node.js.
- Jika aplikasi Anda memiliki dependensi modul, dependensi tersebut harus dicantumkan di package.json.
Melihat file log
File log aplikasi dapat berguna untuk men-debug masalah 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 Target yang Dihosting dan mengujinya di UI Edge.
- Anda mempelajari bahwa proxy Target yang Dihosting memerlukan tag kosong khusus di Endpoint
Target yang disebut
<HostedTarget/>. - Anda mempelajari bahwa Edge memuat dependensi modul untuk Anda secara otomatis, dan bahwa dependensi
harus dicantumkan 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 ke
Target yang Dihosting menggunakan apigeetool. Utilitas apigeetool
menggabungkan aplikasi Node.js ke dalam proxy Target yang Dihosting baru dan men-deploy-nya ke Edge.
Instal apigeetool
Menggunakan apigeetool adalah cara yang direkomendasikan bagi developer untuk men-deploy kode proxy ke Edge. Untuk menginstal apigeetool, jalankan perintah NPM berikut:
npm install -g apigeetool
Buat aplikasi Node.js
Untuk mempermudah, kode untuk aplikasi Node.js sederhana telah disediakan untuk Anda.
- Buat direktori untuk aplikasi Node.js. Sebut direktori tersebut 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
Tinjauan 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 ini sebelum men-deploy dengan apigeetool ke Edge:
- File manifes app.yaml diperlukan dan harus ada di direktori root aplikasi Anda. Untuk mempelajari lebih lanjut file ini, lihat file manifes.
- File package.json diperlukan. File ini harus mencantumkan semua dependensi yang diperlukan aplikasi Anda.
- Folder node_modules tidak diperlukan. Edge menjalankan npm install untuk Anda saat aplikasi Node.js di-deploy. Mendapatkan dependensi dari package.json. Satu-satunya saat Anda perlu menyediakan node_modules secara eksplisit adalah jika Anda memiliki modul kustom yang tidak tersedia melalui npm.
Men-deploy proxy
- Di terminal, cd ke direktori root aplikasi Node.js Anda.
- Jalankan apigeetool dengan perintah deployhostedtarget:
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
dalam organisasi. Karakter yang diizinkan untuk digunakan dalam nama dibatasi pada
karakter berikut: a-z0-9._\-$%
Contoh:
apigeetool deployhostedtarget -o myorg -e test -n node-hosted-express -b /node-hosted-express -u jdoe@apigee.com
Untuk mengetahui 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 Edge UI di alat Trace. Berikut contoh perintah cURL.
curl http://myorg-test.apigee.net/node-hosted-express
{"date":1506992197427,"msg":"hello-world"}Mendapatkan Log Build
Log build menampilkan output yang 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 dicakup ke 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 deployment berhasil, Anda dapat melihat dan mengedit proxy di bagian API Proxies pada UI Edge.
Memigrasikan proxy Node.js yang ada ke proxy Target yang Dihosting
Bagian ini menjelaskan cara memigrasikan secara manual proxy API Edge yang ada yang menggunakan penerapan target Node.js tradisional ke Target yang Dihosting. Dokumen ini juga menjelaskan cara men-deploy proxy setelah Anda melakukan langkah-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, 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 proxy di-deploy di Edge, Anda harus mendownloadnya sebelum melanjutkan. Dalam konfigurasi tradisional, "bundle" proxy Edge yang menyertakan kode Node.js 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 root aplikasi Node.js di bawah
direktori yang disebut resources/hosted. Cukup buat direktori baru bernama
resources/hosted dan pindahkan konten resources/node
ke dalamnya. Kemudian, Anda dapat menghapus direktori resources/node.
apiproxy/
policies/
proxies/
targets/
resources/
hosted/
Your application codeLangkah 2: Tambahkan file manifes
Buat file manifes bernama app.yaml dan tempatkan di direktori
apiproxy/resources/hosted.
Berikut adalah contoh file app.yaml. Menentukan bahwa runtime adalah
Node.js (wajib). Selain itu, variabel lingkungan dibuat 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 dalam
proxy untuk deployment Target yang Dihosting:
apiproxy/
resources/
hosted/
index.js
node_modules/
app.yaml
package.jsonLangkah 3: Pastikan Anda memiliki file package.json
Di proxy Node.js Edge tradisional, package.json bersifat
opsional. Namun, untuk Target yang Dihosting, Anda harus menyediakannya di direktori apiproxy/resources/hosted. Pastikan
untuk menentukan dependensi yang diperlukan untuk aplikasi Anda dalam file ini.
Langkah 4: Ubah endpoint target proxy
Proxy Node.js tradisional mengharuskan tag yang disebut <ScriptTarget>
ada di file endpoint target (biasanya /apiproxy/targets/default.xml).
Untuk Target yang Dihosting, Anda harus menambahkan tag kosong yang disebut <HostedTarget/>.
Jika ada tag ScriptTarget dalam 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
Anda kini 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 mengetahui 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 Edge UI di alat Trace. Berikut contoh perintah cURL:
curl http://myorg-test.apigee.net/hello-world Hello,World!