Anda melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Versi: 1.1.1
Jalankan fungsi yang di-deploy di AWS Lambda. Gunakan ekstensi ini untuk mencantumkan fungsi yang tersedia di akun AWS Anda, lalu panggil fungsi tertentu.
Prasyarat
Sebelum menggunakan ekstensi dari proxy API menggunakan kebijakan ExtensionCallout, Anda harus:
Mendapatkan ID kunci akses Amazon dan kunci akses rahasia Anda.
Anda akan memerlukan ID kunci akses Amazon dan kunci akses rahasia, beserta nama region tempat fungsi Anda di-deploy, untuk mengonfigurasi ekstensi ini.
Men-deploy fungsi Lambda Anda. Agar ekstensi dapat mengakses fungsi Lambda, fungsi tersebut harus:
- Di-deploy di VPC publik
- Di-deploy di VPC pribadi dengan gateway NAT publik
Lihat Mengonfigurasi Fungsi Lambda untuk Mengakses Resource di Amazon VPC untuk mengetahui informasi selengkapnya.
Tentang AWS Lambda
AWS Lambda menyediakan lingkungan komputasi tempat Anda dapat menjalankan fungsi dalam salah satu bahasa yang didukung.
Tindakan
panggil
Memanggil fungsi di AWS Lambda.
Untuk mengetahui detail selengkapnya tentang parameter, lihat dokumentasi AWS Lambda Invoke.
Sintaksis
<Action>invoke</Action>
<Input><![CDATA[
{
"functionName" : "function-on-lambda",
"invocationType" : "RequestResponse | Event | DryRun",
"logType" : "None | Tail",
"qualifier" : "Version-or-alias",
"payload" : "Escaped-JSON-string"
}
]]>
</Input>
<Output>flow-variable</Output>
Contoh
<Action>invoke</Action>
<Input><![CDATA[
{
"functionName" : "helloWorld",
"invocationType" : "RequestResponse",
"logType" : "None",
"qualifier" : "$LATEST",
"payload" : "{ \"key\": \"val\" }"
}
]]>
</Input>
<Output>function.response.value</Output>
Parameter permintaan
Untuk mengetahui detail selengkapnya tentang parameter, lihat dokumentasi AWS Lambda Invoke.
| Parameter | Deskripsi | Jenis | Default | Wajib |
|---|---|---|---|---|
| functionName | Nama fungsi yang akan dipanggil. | String. | Tidak ada. | Ya. |
| invocationType | Menentukan apakah akan memanggil fungsi secara sinkron, asinkron, atau memvalidasi nilai parameter. | String. | Tidak ada. | Tidak. |
| logType | Secara opsional menentukan apakah akan menampilkan 4 KB terakhir data log. | String | Tidak ada. | Tidak. |
| qualifier | Versi alias fungsi Lambda yang dipublikasikan. | String | Tidak ada. | Tidak. |
| payload | JSON sebagai input ke fungsi Lambda. | String | Tidak ada. | Tidak. |
Respons
Array fungsi yang berisi detail versi tertentu. Berikut adalah contohnya:
{
"StatusCode" : 200,
"Payload" : "{\"statusCode\":200,\"body\":\"\\\"Hello World!\\\"\"}"
}
Properti respons
| Properti | Deskripsi | Jenis | Default |
|---|---|---|---|
| StatusCode | . | Bilangan bulat | Tidak ada. |
| Payload | JSON yang mewakili objek yang ditampilkan oleh fungsi. Hanya ada jika jenis pemanggilan adalah RequestResponse. Untuk error fungsi, kolom ini berisi pesan deskripsi error. | String | Tidak ada. |
listFunctions
Mencantumkan fungsi AWS Lambda yang tersedia.
Untuk mengetahui detail selengkapnya tentang parameter, lihat dokumentasi AWS Lambda ListFunctions.
Sintaksis
<Action>listFunctions</Action>
<Input><![CDATA[
{
"masterRegion" : "ALL | [a-z]{2}(-gov)?-[a-z]+-\d{1}",
"functionVersion" : "ALL",
"maxItems" : 1 - 10000
}
]]>
</Input>
<Output>flow-variable</Output>
Contoh
<Action>listFunctions</Action>
<Input><![CDATA[
{
"masterRegion" : "ALL",
"functionVersion" : "ALL",
"maxItems" : 50
}
]]>
</Input>
<Output>function.list</Output>
Parameter permintaan
Untuk mengetahui detail selengkapnya tentang parameter, lihat dokumentasi AWS Lambda ListFunctions.
| Parameter | Deskripsi | Jenis | Default | Wajib |
|---|---|---|---|---|
| masterRegion | Region (seperti us-east-2) yang fungsinya harus dicantumkan; ALL untuk menyertakan fungsi dari region mana pun. Jika ditentukan, Anda juga harus menentukan functionVersion. |
String | Tidak ada. | Tidak. |
| functionVersion | Tentukan ALL untuk mencantumkan semua versi yang dipublikasikan. Jika tidak ditentukan, hanya ARN versi yang tidak dipublikasikan terbaru yang akan ditampilkan. |
String | Tidak ada. | Tidak. |
| maxItems | Jumlah maksimum fungsi yang akan ditampilkan dalam respons. Harus lebih besar dari 0. Jumlah maksimum absolut yang dapat ditampilkan adalah 50. | Bilangan bulat | Tidak ada. | Tidak. |
Respons
JSON yang mewakili array fungsi yang berisi detail versi tertentu.
[
{
"FunctionName": "helloWorld",
"FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
"Runtime": "nodejs",
"Role": "arn:aws:iam::012345:role/service-role/fakeRole",
"Handler": "index.handler",
"Description": "A Hello World lambda function.",
"Version": "$LATEST"
},
{
"FunctionName": "helloWorld",
"FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
"Runtime": "nodejs",
"Role": "arn:aws:iam::012345:role/service-role/fakeRole",
"Handler": "index.handler",
"Description": "A Hello World lambda function.",
"Version": "1"
}
]
Properti respons
| Properti | Deskripsi | Jenis | Default |
|---|---|---|---|
| Description | Deskripsi fungsi. | String. | Tidak ada. |
| Handler | Fungsi yang dipanggil Lambda untuk mulai menjalankan fungsi. | String. | Tidak ada. |
| FunctionArn | Amazon Resource Name fungsi. | String. | Tidak ada. |
| FunctionName | Nama fungsi. | String. | Tidak ada. |
| Role | Peran eksekusi fungsi. | String. | Tidak ada. |
| Runtime | Lingkungan runtime fungsi. | String. | Tidak ada. |
| Version | Versi fungsi. | String. | Tidak ada. |
Referensi Konfigurasi
Gunakan hal berikut saat Anda mengonfigurasi dan men-deploy ekstensi ini untuk digunakan di proxy API. Untuk mengetahui langkah-langkah mengonfigurasi ekstensi menggunakan konsol Apigee, lihat Menambahkan dan mengonfigurasi ekstensi.
Properti ekstensi umum
Properti berikut ada untuk setiap ekstensi.
| Properti | Deskripsi | Default | Wajib |
|---|---|---|---|
name |
Nama yang Anda berikan pada konfigurasi ekstensi ini. | Tidak ada | Ya |
packageName |
Nama paket ekstensi seperti yang diberikan oleh Apigee Edge. | Tidak ada | Ya |
version |
Nomor versi untuk paket ekstensi tempat Anda mengonfigurasi ekstensi. | Tidak ada | Ya |
configuration |
Nilai konfigurasi khusus untuk ekstensi yang Anda tambahkan. Lihat Properti untuk paket ekstensi ini | Tidak ada | Ya |
Properti untuk paket ekstensi ini
Tentukan nilai untuk properti konfigurasi berikut yang khusus untuk ekstensi ini.
| Properti | Deskripsi | Default | Wajib |
|---|---|---|---|
| Region AWS Lambda | Nama region tempat fungsi Anda di-deploy. Misalnya: us-east-1. |
Tidak ada. | Ya. |
| Kredensial | Jika dimasukkan di konsol Apigee Edge, kredensial ini adalah file JSON yang berisi ID kunci akses Amazon dan kunci akses Anda dalam bentuk berikut:{"accessKeyId" : "access-key-ID","secretAccessKey" : "secret-access-key"}Jika dikirim melalui Management API, kredensial ini adalah nilai yang dienkode base64 yang dihasilkan dari file JSON kunci tersebut. |
Tidak ada. | Ya. |