Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Lihat dokumentasi Apigee Edge.
Lingkungan adalah konteks eksekusi runtime untuk proxy API dan alur bersama yang ingin Anda deploy. Anda harus men-deploy proxy API dan alur bersama ke satu atau beberapa lingkungan sebelum dapat diakses untuk pengujian. Untuk mengetahui informasi selengkapnya tentang lingkungan, lihat Tentang lingkungan dan grup lingkungan.
Konfigurasikan dan deploy lingkungan seperti yang dijelaskan di bagian berikut. Lihat juga Mengelola folder dan file di ruang kerja Apigee.
Mengonfigurasi lingkungan
Sebelum men-deploy lingkungan, konfigurasikan untuk mengidentifikasi proxy API dan alur bersama yang ingin Anda deploy, serta konfigurasikan hook alur bersama atau server target, sesuai kebutuhan.
Untuk mengonfigurasi lingkungan, buat lingkungan dan edit konfigurasi yang ditentukan dalam tabel berikut.
Konfigurasi | Deskripsi |
---|---|
Mask debug (debugmasks.json ) |
Tentukan konfigurasi mask untuk menyamarkan data tertentu dalam sesi pelacakan dan proses debug. |
Deployment (deployments.json ) |
Tentukan proxy API dan alur bersama dalam deployment Anda. |
Hook alur (flowhooks.json ) |
Lampirkan alur bersama ke hook alur agar dieksekusi di tempat yang sama untuk semua proxy API yang di-deploy ke lingkungan. |
Server target (targetservers.json ) |
Pisahkan endpoint konkret dari endpoint target untuk mendukung load balancing dan failover di beberapa instance server backend. |
Key store (keystores.json ) |
Tambahkan dukungan TLS ke endpoint target dan server target Anda. |
Selain itu, jika menggunakan kebijakan yang memerlukan resource, Anda dapat mengelola resource di tingkat lingkungan, sesuai kebutuhan.
Membuat lingkungan
Untuk membuat lingkungan di Apigee di Cloud Code:
Lakukan salah satu tindakan berikut:
Arahkan kursor ke folder environments di ruang kerja Apigee, lalu klik .
Pilih View > Command Palette untuk membuka Command palette, lalu pilih Cloud Code: Create Apigee environment.
Wizard Create environment akan terbuka.
Masukkan nama untuk lingkungan, lalu tekan Enter.
Lingkungan ditambahkan ke folder environments di bagian Apigee:
Konfigurasikan lingkungan, seperti yang dijelaskan di bagian berikut.
Mengonfigurasi mask debug (debugmask.json)
Apigee memungkinkan Anda menentukan konfigurasi mask untuk menyamarkan data tertentu dalam sesi pelacakan dan proses debug. Jika disamarkan, data akan diganti dengan tanda bintang di output rekaman aktivitas. Contoh:
<description>**********</description>
Untuk mengetahui informasi selengkapnya, lihat Menyamarkan data sensitif.
Untuk mengonfigurasi mask debug, perbarui file debugmask.json
dengan mengedit file secara langsung.
Berikut adalah contoh struktur dasar konfigurasi mask dalam format JSON. Untuk mengetahui informasi selengkapnya tentang kolom konfigurasi mask yang ditampilkan dalam contoh, lihat DebugMask.
{ "namespaces": { "myco": "https://example.com" }, "requestXPaths": [ "/myco:Greeting/myco:User" ], "responseXPaths": [ "/myco:Greeting/myco:User" ], "faultXPaths": [ "/myco:Greeting/myco:User" ], "requestJSONPaths": [ "$.store.book[].author" ], "responseJSONPaths": [ "$.store.book[].author" ], "faultJSONPaths": [ "$.store.book[*].author" ], "variables": [ "request.header.user-agent", "request.formparam.password" ] }
Mengonfigurasi deployment (deployments.json)
Konfigurasikan proxy API dan alur bersama yang ingin Anda sertakan dalam deployment.
Untuk mengonfigurasi deployment, perbarui file deployments.json
menggunakan wizard konfigurasi atau dengan mengedit file secara langsung.
Untuk mengonfigurasi deployment menggunakan wizard konfigurasi:
- Arahkan kursor ke file deployments.json untuk lingkungan, lalu klik .
- Ikuti langkah-langkah wizard konfigurasi untuk memilih deployment dan mengisi otomatis kolom dalam file
deployments.json
. Filedeployments.json
dibuka di editor. - Edit konfigurasi sesuai kebutuhan.
- Pilih File > Save atau ⌘S untuk menyimpan hasil edit.
Contoh berikut mengonfigurasi deployment untuk menyertakan proxy API helloworld
dan alur bersama mysharedflow
dan hw-sharedflow
:
{ "proxies" : [ "helloworld" ], "sharedflows" : [ "mysharedflow", "hw-sharedflow" ] }
Mengonfigurasi akun layanan dengan deployment alur bersama dan proxy
Proksi API yang bergantung pada layanan Google sebagai backend mungkin memerlukan akun layanan Google Cloud untuk dikaitkan dengan deployment. Lihat Menggunakan autentikasi Google.
Saat mengedit file deployments.json
, Anda dapat mengaitkan proxy API atau alur bersama dengan akun layanan Google Cloud. Contoh:
{ "name": "proxy-name", "serviceAccount": "associated-service-account" }
Contoh berikut menunjukkan konfigurasi deployment saat akun layanan dikaitkan dengan proxy API helloworld
dan alur bersama mysharedflow
, tetapi proxy healthcheck
dan alur bersama hw-sharedflow
tidak dikaitkan dengan akun layanan:
{ "proxies": [ { "name": "helloworld", "serviceAccount": "myserviceaccount@myorg." }, "healthcheck" ], "sharedflows": [ { "name": "mysharedflow", "serviceAccount": "myserviceaccount@myorg." }, "hw-sharedflow" ] }
Pelajari lebih lanjut cara mengonfigurasi Apigee Emulator untuk menguji fitur autentikasi akun layanan di proxy API Anda.
Melampirkan alur bersama menggunakan hook alur (flowhooks.json)
Dengan hook alur, Anda melampirkan alur bersama sehingga alur tersebut dieksekusi di tempat yang sama untuk semua proxy API yang di-deploy ke lingkungan tertentu. Hal ini memberi Anda urutan logika yang diterapkan dan di-deploy secara terpisah yang bukan bagian dari kode implementasi proxy API. Secara khusus, Anda dapat melampirkan alur bersama di lokasi berikut dalam alur proxy API:
- Sebelum endpoint proxy API dieksekusi (
PreProxyFlowHook
) - Setelah endpoint proxy API dieksekusi dan tepat sebelum respons dikirim ke klien (
PostProxyFlowHook
) - Sebelum endpoint target dieksekusi (
PreTargetFlowHook
) - Setelah respons target dieksekusi (
PostTargetFlowHook
)
Untuk informasi selengkapnya tentang hook alur, lihat Melampirkan alur bersama menggunakan hook alur.
Untuk melampirkan alur bersama menggunakan hook alur, perbarui file flowhooks.json
menggunakan wizard konfigurasi atau dengan mengedit file secara langsung.
Untuk mengonfigurasi hook alur menggunakan wizard konfigurasi:
- Arahkan kursor ke file flowhooks.json untuk lingkungan, lalu klik .
- Pilih alur bersama yang akan dilampirkan di lokasi tertentu dalam alur proxy API dan isi otomatis kolom dalam file
flowhooks.json
. Fileflowhooks.json
dibuka di editor. - Edit konfigurasi sesuai kebutuhan.
- Pilih File > Save atau ⌘S untuk menyimpan hasil edit.
Contoh berikut melampirkan mysharedflow
ke PreProxyFlowHook
sehingga dieksekusi sebelum endpoint proxy API dieksekusi:
{ "PreProxyFlowHook": { "continueOnError": true, "sharedFlow": "mysharedflow", "description": "Shared enforced before a proxy endpoint executes." } }
Mengonfigurasi server target (targetservers.json)
Server target (TargetServers) memisahkan URL endpoint konkret dari konfigurasi endpoint target (TargetEndpoint). Daripada menentukan URL konkret dalam konfigurasi, Anda dapat mengonfigurasi satu atau beberapa TargetServer bernama. Kemudian, referensikan setiap TargetServer menurut namanya di HTTPConnection TargetEndpoint.
Untuk informasi selengkapnya tentang server target, lihat topik berikut:
- Load balancing di seluruh server backend
- Antipola: Load balancing dengan satu server target dengan MaxFailures ditetapkan ke nilai non-nol
Untuk mengonfigurasi server target, perbarui file targetservers.json
menggunakan wizard konfigurasi atau dengan mengedit file secara langsung.
Untuk deskripsi kolom dalam file targetservers.json
, lihat Resource: TargetServer.
Untuk mengonfigurasi server target menggunakan wizard konfigurasi:
- Arahkan kursor ke file targetservers.json untuk lingkungan, lalu klik .
- Ikuti langkah-langkah di wizard konfigurasi untuk mengonfigurasi server target dan mengisi otomatis kolom dalam file
targetservers.json
. Filetargetservers.json
dibuka di editor. - Edit konfigurasi sesuai kebutuhan.
- Pilih File > Save atau ⌘S untuk menyimpan hasil edit.
Contoh berikut menambahkan server target baru di lingkungan:
[ { "enabled": true, "name": "mytargetserver", "description": "My first target server", "host": "localhost", "port": 80 } ]
Contoh berikut mengonfigurasi server target dengan TLS bersama menggunakan keystore:
[ { "name": "mtlsserver", "host": "mytargetserver.mydomain", "port": 443, "enabled": true, "protocol": "HTTP", "tlsInfo": { "enabled": true, "clientAuthEnabled": true, "keyStore": "mykeystore", "keyAlias": "mykeyandcert", "trustStore": "mytruststore" } } ]
Mengonfigurasi keystore (keystores.json)
Keystore menentukan repositori sertifikat keamanan yang digunakan untuk enkripsi TLS di endpoint target dan server target.
Untuk informasi selengkapnya tentang konfigurasi TLS, lihat Opsi untuk mengonfigurasi TLS.
Untuk mengonfigurasi keystore:
- Buka file
keystores.json
untuk lingkungan di editor. File ini memiliki dua elemen utamastores
- Peta nama keystore yang ditambahkan dan aliasnya.references
- Peta semua nama referensi keystore dan nama keystore terkait.
- Edit konfigurasi sesuai kebutuhan.
- Pilih File > Save atau ⌘S untuk menyimpan hasil edit.
Contoh berikut menunjukkan keystore mykeystore
dengan dua alias, mycert-alias
dan mykeycert-alias
:
{ "stores": { "mykeystore": { "my-cert-alias": { "cert": "/Users/jdoe/testkeys/cert1.pem" }, "my-keycert-alias": { "key": "/Users/jdoe/testkeys/key1.pem", "cert": "/Users/jdoe/testkeys/cert1.pem" } } } }
Men-deploy lingkungan
Deploy proxy API dan alur bersama yang dikonfigurasi untuk lingkungan agar dapat diakses untuk pengujian.
Untuk men-deploy lingkungan:
- Di bagian Apigee, posisikan kursor di atas folder lingkungan yang ingin Anda deploy.
- Klik .
- Jika beberapa penampung untuk Apigee Emulator sedang berjalan, pilih penampung tempat Anda ingin men-deploy lingkungan.
- Pilih paket pengujian yang ingin diekspor dengan deployment atau pilih Deploy without a test bundle.
Anda dapat mengekspor resource pengujian nanti, seperti yang dijelaskan dalam Mengekspor resource pengujian ke Emulator Apigee.
Lingkungan akan di-deploy dan menampilkan pesan berhasil di tab Output.
Aplikasi yang di-deploy ditampilkan di Apigee Emulator: