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 mempermudah Anda menerapkan penanganan kompleks pada variabel alur, kesalahan, serta isi permintaan dan 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 agar dapat 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, secara umum, salah satu cara kerjanya. Pastikan untuk melihat referensi kebijakan untuk mengetahui detail selengkapnya.
- Dalam 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 dalam proxy API. Untuk mengetahui informasi selengkapnya tentang variabel alur, lihat Mengelola status proxy dengan variabel alur.
- Tambahkan file (atau JAR) sebagai file resource ke proxy API Anda.
Untuk mengetahui informasi selengkapnya tentang file resource, lihat File resource.
- Tambahkan kebijakan yang sesuai dengan bahasa yang Anda gunakan.
Konfigurasi 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, 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, sebaiknya hindari melakukan panggilan tersebut dalam kode Anda.
Batasan lain mungkin ada untuk setiap bahasa yang didukung, sebagaimana dijelaskan dalam referensi kebijakan yang sesuai untuk bahasa tersebut.
Bahasa yang didukung
JavaScript
Dukungan untuk JavaScript mencakup model objek lengkap untuk menangani variabel dan nilai khusus untuk proxy API. Untuk mengetahui informasi selengkapnya, lihat Model objek JavaScript.
Untuk informasi dan contoh referensi kebijakan, lihat Kebijakan JavaScript.
Java
Gunakan kebijakan JavaCalloutuntuk melakukan panggilan ke kode Java dari alur proxy Anda. Topik referensi kebijakan mencakup contoh.
Python
Gunakan kebijakan Skrip Pythonuntuk memanggil kode Python.