

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

# Lambda 函數錯誤訊息
<a name="PostgreSQL-Lambda-errors"></a>

於下列清單中，您可找到有關錯誤訊息的資訊，及可能的原因和解決方案。
+ **VPC 組態問題**

  嘗試連線時，VPC 組態問題可能會引發下列錯誤訊息：

  ```
  ERROR:  invoke API failed
  DETAIL: AWS Lambda client returned 'Unable to connect to endpoint'.
  CONTEXT:  SQL function "invoke" statement 1
  ```

  此錯誤的常見原因是未正確設定 VPC 安全群組。務必在您的 VPC 安全群組連接埠 443 上開啟 TCP 的傳出規則，讓 VPC 可連線至 Lambda VPC。

  如果您的資料庫執行個體是私有的，請檢查 VPC 的私有 DNS 設定。請務必將 `rds.custom_dns_resolution` 參數設定為 1 和 setup AWS PrivateLink，如 中所述[步驟 1：為您的 RDS for PostgreSQL 資料庫執行個體設定傳出連線 AWS Lambda](PostgreSQL-Lambda.md#PostgreSQL-Lambda-network)。如需詳細資訊，請參閱[介面 VPC 端點 (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#vpce-private-dns)。
+ **缺乏叫用 Lambda 函式所需的許可權限**

  若您看到下列其中一個錯誤訊息，則叫用該函數的使用者 (角色) 並無適當的許可權限。

  ```
  ERROR:  permission denied for schema aws_lambda
  ```

  ```
  ERROR:  permission denied for function invoke
  ```

  使用者 (角色) 必須取得特定授權才可叫用 Lambda 函數 如需詳細資訊，請參閱[步驟 6：授予其他使用者呼叫 Lambda 函數的許可權限](PostgreSQL-Lambda.md#PostgreSQL-Lambda-grant-users-permissions)。
+ **不正確處理 Lambda 函數中的錯誤**

  如果 Lambda 函數在請求處理期間拋出異常，則 `aws_lambda.invoke` 會失敗並顯示如下所示 PostgreSQL 錯誤。

  ```
  SELECT * FROM aws_lambda.invoke('aws_lambda_arn_1', '{"body": "Hello from Postgres!"}'::json);
  ERROR:  lambda invocation failed
  DETAIL:  "arn:aws:lambda:us-west-2:555555555555:function:my-function" returned error "Unhandled", details: "<Error details string>".
  ```

  請務必處理 Lambda 函數或 PostgreSQL 應用程式中的錯誤。