

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS Lambda 函數和參數參考
<a name="PostgreSQL-Lambda-functions"></a>

以下是函數用於以 RDS for PostgreSQL 調用 Lambda 之函數和參數的參考。

**Topics**
+ [aws\$1lambda.invoke](#aws_lambda.invoke)
+ [aws\$1commons.create\$1lambda\$1function\$1arn](#aws_commons.create_lambda_function_arn)
+ [aws\$1lambda 參數](#aws_lambda.parameters)

## aws\$1lambda.invoke
<a name="aws_lambda.invoke"></a>

為 RDS for PostgreSQL 資料庫執行個體執行 Lambda 函數。

如需有關叫用 Lambda 函數的詳細資訊，請參閱 *AWS Lambda 開發人員指南*中的[叫用](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html)。

**語法**

------
#### [ JSON ]

```
aws_lambda.invoke(
IN function_name TEXT,
IN payload JSON,
IN region TEXT DEFAULT NULL,
IN invocation_type TEXT DEFAULT 'RequestResponse',
IN log_type TEXT DEFAULT 'None',
IN context JSON DEFAULT NULL,
IN qualifier VARCHAR(128) DEFAULT NULL,
OUT status_code INT,
OUT payload JSON,
OUT executed_version TEXT,
OUT log_result TEXT)
```

```
aws_lambda.invoke(
IN function_name aws_commons._lambda_function_arn_1,
IN payload JSON,
IN invocation_type TEXT DEFAULT 'RequestResponse',
IN log_type TEXT DEFAULT 'None',
IN context JSON DEFAULT NULL,
IN qualifier VARCHAR(128) DEFAULT NULL,
OUT status_code INT,
OUT payload JSON,
OUT executed_version TEXT,
OUT log_result TEXT)
```

------
#### [ JSONB ]

```
aws_lambda.invoke(
IN function_name TEXT,
IN payload JSONB,
IN region TEXT DEFAULT NULL,
IN invocation_type TEXT DEFAULT 'RequestResponse',
IN log_type TEXT DEFAULT 'None',
IN context JSONB DEFAULT NULL,
IN qualifier VARCHAR(128) DEFAULT NULL,
OUT status_code INT,
OUT payload JSONB,
OUT executed_version TEXT,
OUT log_result TEXT)
```

```
aws_lambda.invoke(
IN function_name aws_commons._lambda_function_arn_1,
IN payload JSONB,
IN invocation_type TEXT DEFAULT 'RequestResponse',
IN log_type TEXT DEFAULT 'None',
IN context JSONB DEFAULT NULL,
IN qualifier VARCHAR(128) DEFAULT NULL,
OUT status_code INT,
OUT payload JSONB,
OUT executed_version TEXT,
OUT log_result TEXT
)
```

------輸入參數

**function\$1name**  
識別 Lambda 函數的名稱。該值可以是函數名稱、ARN 或部分 ARN。如需適用格式的清單，請參閱 *AWS Lambda 開發人員指南*中的 [Lambda 函數名稱格式](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestParameters)。

*payload*  
Lambda 函數的輸入。格式可以是 JSON 或 JSONB。如需詳細資訊，請參閱 PostgreSQL 文件中的 [JSON 類型](https://www.postgresql.org/docs/current/datatype-json.html)。

*區域*  
(選用) 函數的 Lambda 區域。根據預設，RDS 會從 AWS 中的完整 ARN 解析 `function_name` 區域，或使用 RDS for PostgreSQL 資料庫執行個體區域。如果此區域值與 `function_name` ARN 中提供的值衝突，則會引發錯誤。

*invocation\$1type*  
Lambda 函數的叫用類型。 值會區分大小寫。可能的值包括以下：  
+ `RequestResponse` – 預設值。Lambda 函數的這種叫用類型是同步的，並在結果中傳回回應承載。若您的工作流程依賴於立即接收 Lambda 函數，請使用 `RequestResponse` 叫用類型。
+ `Event` – Lambda 函數這種叫用類型是非同步的，並且在立即傳回時不含承載。若您在工作流程繼續進行之前不需要 Lambda 函數的結果，請使用 `Event` 叫用類型。
+ `DryRun` – 這種類型的叫用會測試存取而不執行該 Lambda 函數。

*log\$1type*  
`log_result` 輸出參數中要傳回的 Lambda 日誌類型。 值會區分大小寫。可能的值包括以下：  
+ 結尾 – 傳回的 `log_result` 輸出參數會包含執行日誌的最後 4 KB。
+ 無 – 沒有傳回 Lambda 日誌資訊。

*context*  
JSON 或 JSONB 格式的用戶端內容。要使用的欄位包括 `custom` 和 `env`。

*限定詞*  
識別待叫用 Lambda 函數版本的限定詞。如果該值與 `function_name` ARN 中提供的值衝突，則會引發錯誤。輸出參數

*status\$1code*  
HTTP 狀態回應代碼。如需更多詳細資訊，請參閱 *AWS Lambda 開發人員指南*中的 [Lambda 叫用回應元素](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_ResponseElements)。

*payload*  
從執行的 Lambda 函數傳回的資訊。格式是 JSON 或 JSONB。

*executed\$1version*  
Lambda 函數執行的版本。

*log\$1result*  
如果 `log_type` 值是叫用 Lambda 函數時的 `Tail`，則會傳回執行日誌資訊。結果包含以 Base64 編碼的執行日誌的最後 4 KB。

## aws\$1commons.create\$1lambda\$1function\$1arn
<a name="aws_commons.create_lambda_function_arn"></a>

建立 `aws_commons._lambda_function_arn_1` 結構來保存 Lambda 函數名稱資訊。您可以在 aws\$1lambda.invoke `aws_commons.create_lambda_function_arn` 函數的 `function_name` 參數中，使用 [aws\$1lambda.invoke](#aws_lambda.invoke) 函數的結果。

**語法**

```
aws_commons.create_lambda_function_arn(
    function_name TEXT,
    region TEXT DEFAULT NULL
    )
    RETURNS aws_commons._lambda_function_arn_1
```輸入參數

*function\$1name*  
包含 Lambda 函數名稱的必要文字字串。該值可以是函數名稱、部分 ARN 或完整 ARN。

*區域*  
選用文字字串，其中含有 Lambda 函數所在的 AWS 區域。如需區域名稱和相關聯值的清單，請參閱[區域、可用區域和 Local Zones](Concepts.RegionsAndAvailabilityZones.md)。

## aws\$1lambda 參數
<a name="aws_lambda.parameters"></a>

在資料表中，您可以尋找與 `aws_lambda` 函數相關聯的參數。


| 參數 | 描述 | 
| --- | --- | 
| `aws_lambda.connect_timeout_ms` | 這是動態參數，其會設定連線到 AWS Lambda 時的最長等待時間。預設值為 `1000`。此參數的允許值為 1 - 900000。 | 
| `aws_lambda.request_timeout_ms` | 這是動態參數，其會設定在等待 AWS Lambda 回應時的最長等待時間。預設值為 `3000`。此參數的允許值為 1 - 900000。 | 
| `aws_lambda.endpoint_override` | 指定可用來連線至 AWS Lambda 的端點。空字串會選取區域的預設 AWS Lambda 端點。您必須重新啟動資料庫，此靜態參數變更才能產生作用。 | 