

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Contoh: Menginvokasi fungsi Lambda dari instans DB RDS for PostgreSQL
<a name="PostgreSQL-Lambda-examples"></a>

Berikut ini, Anda dapat menemukan beberapa contoh pemanggilan fungsi [aws\$1lambda.invoke](PostgreSQL-Lambda-functions.md#aws_lambda.invoke). Sebagian besar contoh menggunakan struktur komposit `aws_lambda_arn_1` yang Anda buat [Langkah 4: Gunakan fungsi pembantu Lambda dengan instans DB RDS for PostgreSQL (Opsional)](PostgreSQL-Lambda.md#PostgreSQL-Lambda-specify-function) untuk menyederhanakan meneruskan detail fungsi. Untuk contoh panggilan asinkron, lihat [Contoh: Invokasi fungsi Lambda asinkron (Event)](#PostgreSQL-Lambda-Event). Semua contoh lain yang tercantum menggunakan panggilan sinkron. 

Untuk mempelajari lebih lanjut tentang jenis invokasi Lambda, lihat [Menginvokasi fungsi Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-invocation.html) di *Panduan Developer AWS Lambda *. Untuk informasi selengkapnya tentang `aws_lambda_arn_1`, lihat [aws\$1commons.create\$1lambda\$1function\$1arn](PostgreSQL-Lambda-functions.md#aws_commons.create_lambda_function_arn). 

**Topics**
+ [Contoh: Synchronous (RequestResponse) pemanggilan fungsi Lambda](#PostgreSQL-Lambda-RequestResponse)
+ [Contoh: Invokasi fungsi Lambda asinkron (Event)](#PostgreSQL-Lambda-Event)
+ [Contoh: Menangkap log eksekusi Lambda dalam respons fungsi](#PostgreSQL-Lambda-log-response)
+ [Contoh: Menyertakan konteks klien dalam fungsi Lambda](#PostgreSQL-Lambda-client-context)
+ [Contoh: Menginvokasi fungsi Lambda versi spesifik](#PostgreSQL-Lambda-function-version)

## Contoh: Synchronous (RequestResponse) pemanggilan fungsi Lambda
<a name="PostgreSQL-Lambda-RequestResponse"></a>

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 di[Langkah 4: Gunakan fungsi pembantu Lambda dengan instans DB RDS for PostgreSQL (Opsional)](PostgreSQL-Lambda.md#PostgreSQL-Lambda-specify-function), dengan fungsi pembantu `aws_commons.create_lambda_function_arn`. Anda juga dapat membuat struktur ini sebaris dalam panggilan `aws_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` – Payload JSON untuk diteruskan ke fungsi Lambda.
+ `'RequestResponse'` – Jenis invokasi Lambda.

## Contoh: Invokasi fungsi Lambda asinkron (Event)
<a name="PostgreSQL-Lambda-Event"></a>

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
<a name="PostgreSQL-Lambda-log-response"></a>

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\$1lambda.invoke](PostgreSQL-Lambda-functions.md#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 mendekode kontennya menggunakan kombinasi fungsi PostgreSQL `decode` dan `convert_from`.

Untuk informasi selengkapnya tentang `log_type`, lihat [aws\$1lambda.invoke](PostgreSQL-Lambda-functions.md#aws_lambda.invoke).

## Contoh: Menyertakan konteks klien dalam fungsi Lambda
<a name="PostgreSQL-Lambda-client-context"></a>

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 objek JSON untuk parameter `context` fungsi [aws\$1lambda.invoke](PostgreSQL-Lambda-functions.md#aws_lambda.invoke).

Untuk informasi selengkapnya tentang parameter `context`, lihat referensi [aws\$1lambda.invoke](PostgreSQL-Lambda-functions.md#aws_lambda.invoke). 

## Contoh: Menginvokasi fungsi Lambda versi spesifik
<a name="PostgreSQL-Lambda-function-version"></a>

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 `'custom_version'` sebagai alias untuk versi.

```
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\$1lambda.invoke](PostgreSQL-Lambda-functions.md#aws_lambda.invoke).