Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh: Memanggil fungsi Lambda dari cluster DB DB RDS SQL
Berikut ini, Anda dapat menemukan beberapa contoh pemanggilan fungsi aws_lambda.invoke. Sebagian besar contoh menggunakan struktur komposit aws_lambda_arn_1
yang Anda buat Langkah 4: Gunakan fungsi pembantu Lambda dengan ) SQL untuk menyederhanakan meneruskan detail fungsi. Untuk contoh panggilan asinkron, lihat Contoh: Invokasi fungsi Lambda asinkron (Event). Semua contoh lain yang tercantum menggunakan panggilan sinkron.
Untuk mempelajari lebih lanjut tentang jenis pemanggilan Lambda, lihat Memanggil fungsi Lambda di AWS Lambda Panduan Pengembang. Untuk informasi selengkapnya tentang aws_lambda_arn_1
, lihat aws_commons.create_lambda_function_arn.
Daftar contoh
Contoh: Synchronous (RequestResponse) pemanggilan fungsi Lambda
Berikut ini adalah dua contoh dari invokasi fungsi Lambda sinkron. Hasil dari panggilan fungsi aws_lambda.invoke
ini sama.
SELECT * FROM aws_lambda.invoke('aws_lambda_arn_1', '{"body": "Hello from Postgres!"}'::json);
SELECT * FROM aws_lambda.invoke('aws_lambda_arn_1', '{"body": "Hello from Postgres!"}'::json, 'RequestResponse');
Parameternya dijelaskan sebagai berikut:
-
:'aws_lambda_arn_1'
– Parameter ini mengidentifikasi struktur komposit yang dibuat diLangkah 4: Gunakan fungsi pembantu Lambda dengan ) SQL, dengan fungsi pembantuaws_commons.create_lambda_function_arn
. Anda juga dapat membuat struktur ini sebaris dalam panggilanaws_lambda.invoke
Anda sebagai berikut.SELECT * FROM aws_lambda.invoke(aws_commons.create_lambda_function_arn('my-function', '
aws-region
'), '{"body": "Hello from Postgres!"}'::json ); -
'{"body": "Hello from PostgreSQL!"}'::json
— JSON Payload untuk diteruskan ke fungsi Lambda. -
'RequestResponse'
– Jenis invokasi Lambda.
Contoh: Invokasi fungsi Lambda asinkron (Event)
Berikut ini adalah contoh invokasi fungsi Lambda asinkron. Jenis invokasi Event
menjadwalkan invokasi fungsi Lambda dengan payload input yang ditentukan dan segera kembali. Gunakan jenis invokasi Event
di alur kerja tertentu yang tidak bergantung pada hasil fungsi Lambda.
SELECT * FROM aws_lambda.invoke('aws_lambda_arn_1', '{"body": "Hello from Postgres!"}'::json, 'Event');
Contoh: Menangkap log eksekusi Lambda dalam respons fungsi
Anda dapat menyertakan 4 KB terakhir log eksekusi di respons fungsi dengan menggunakan parameter log_type
dalam panggilan fungsi aws_lambda.invoke
Anda. Secara default, parameter ini diatur ke None
, tetapi Anda dapat menentukan Tail
untuk menangkap hasil log eksekusi Lambda dalam respons, seperti yang ditunjukkan berikut.
SELECT *, select convert_from(decode(log_result, 'base64'), 'utf-8') as log FROM aws_lambda.invoke(:'aws_lambda_arn_1', '{"body": "Hello from Postgres!"}'::json, 'RequestResponse', 'Tail');
Atur parameter log_type
fungsi aws_lambda.invoke ke Tail
untuk menyertakan log eksekusi dalam respons. Nilai default untuk parameter log_type
adalah None
.
log_result
yang ditampilkan string yang dienkode base64
. Anda dapat memecahkan kode konten menggunakan kombinasi fungsi decode
dan convert_from
PostgreSQL.
Untuk informasi selengkapnya tentang log_type
, lihat aws_lambda.invoke.
Contoh: Menyertakan konteks klien dalam fungsi Lambda
Fungsi aws_lambda.invoke
memiliki parameter context
yang dapat Anda gunakan untuk meneruskan informasi yang terpisah dari payload, seperti yang diperlihatkan di bawah.
SELECT *, convert_from(decode(log_result, 'base64'), 'utf-8') as log FROM aws_lambda.invoke(:'aws_lambda_arn_1', '{"body": "Hello from Postgres!"}'::json, 'RequestResponse', 'Tail');
Untuk menyertakan konteks klien, gunakan JSON objek untuk context
parameter aws_lambda.invoke fungsi.
Untuk informasi selengkapnya tentang parameter context
, lihat referensi aws_lambda.invoke.
Contoh: Menginvokasi fungsi Lambda versi spesifik
Anda dapat menentukan versi tertentu dari fungsi Lambda dengan menyertakan parameter qualifier
dengan panggilan aws_lambda.invoke
. Berikut ini, Anda dapat menemukan contoh yang melakukan ini menggunakan '
sebagai alias untuk versi.custom_version
'
SELECT * FROM aws_lambda.invoke('aws_lambda_arn_1', '{"body": "Hello from Postgres!"}'::json, 'RequestResponse', 'None', NULL, '
custom_version
');
Anda juga dapat menyediakan pengualifikasi fungsi Lambda dengan detail nama fungsi sebagai berikut.
SELECT * FROM aws_lambda.invoke(aws_commons.create_lambda_function_arn('my-function:custom_version', 'us-west-2'), '{"body": "Hello from Postgres!"}'::json);
Untuk informasi selengkapnya tentang qualifier
dan parameter lainnya, lihat referensi aws_lambda.invoke.