Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Lihat dokumentasi Apigee Edge.
Anda dapat menambahkan kode dalam bahasa prosedural seperti JavaScript, Java, dan Python, lalu memanggil kode tersebut dari bagian lain proxy API. Dukungan untuk kode prosedural dirancang untuk memudahkan Anda menerapkan penanganan kompleks terhadap variabel alur, error, dan isi permintaan serta respons.
Dengan kode prosedural, Anda dapat:
- Membuat atau memanipulasi nilai isi yang kompleks, seperti nilai permintaan dan respons.
- Menulis ulang URL, seperti untuk menyamarkan URL endpoint target.
- Menambahkan logika lain yang tidak tersedia dengan kebijakan yang disertakan.
Cara kerjanya
Anda menggunakan kebijakan khusus untuk bahasa tersebut guna melakukan panggilan dari alur proxy ke kode yang disertakan. Untuk setiap bahasa yang didukung, Apigee menyertakan kebijakan terpisah: kebijakan JavaScript, kebijakan JavaCallout, dan kebijakan PythonScript.
Berikut ini menjelaskan, pada tingkat tinggi, salah satu cara kerjanya. Pastikan untuk melihat referensi kebijakan untuk mengetahui detail selengkapnya.
- Di file terpisah, tulis kode yang akan Anda gunakan.
- Dalam kode Anda, masukkan hasil pemrosesan kode ke dalam variabel alur Apigee.
Anda akan mengambil nilai variabel di tempat lain di proxy API. Untuk mengetahui informasi selengkapnya tentang variabel flow, lihat Mengelola status proxy dengan variabel flow.
- Tambahkan file (atau JAR) sebagai file resource ke proxy API Anda.
Untuk informasi selengkapnya tentang file resource, lihat File resource.
- Tambahkan kebijakan yang sesuai dengan bahasa yang Anda gunakan.
Konfigurasikan kebijakan untuk melakukan panggilan ke kode Anda dari tempat yang diinginkan dalam alur proxy API Anda.
- Gunakan kebijakan untuk mengambil nilai kode dari variabel alur.
Batasan
Model keamanan Apigee tidak mengizinkan panggilan sistem seperti I/O jaringan, operasi baca/tulis sistem file, info pengguna saat ini, daftar proses, dan penggunaan CPU/memori. Meskipun beberapa panggilan tersebut mungkin berfungsi, panggilan tersebut tidak didukung dan dapat dinonaktifkan secara aktif kapan saja. Untuk kompatibilitas ke depan, Anda harus menghindari panggilan tersebut dalam kode Anda.
Pembatasan lain mungkin ada untuk setiap bahasa yang didukung, seperti yang dijelaskan dalam referensi kebijakan bahasa yang sesuai.
Bahasa yang didukung
JavaScript
Dukungan untuk JavaScript mencakup model objek lengkap untuk menangani variabel dan nilai yang spesifik untuk proxy API. Untuk mengetahui informasi selengkapnya, lihat Model objek JavaScript.
Untuk informasi dan contoh referensi kebijakan, lihat kebijakan JavaScript.
Java
Gunakan kebijakan Java Callout untuk melakukan panggilan ke kode Java dari alur proxy Anda. Topik referensi kebijakan menyertakan contoh.
Python
Gunakan kebijakan Skrip Python untuk memanggil kode Python.