

# 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 に接続できるようになっていることを確認します。

  プライベートの DB インスタンスを使用している場合は、VPC のプライベート DNS 設定を確認します。`rds.custom_dns_resolution` パラメータには 1 が設定されており、AWS PrivateLink は [ステップ 1: RDS for PostgreSQL DB インスタンスで、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 アプリケーションの中でエラーに対処します。