Lambda 関数のエラーメッセージ
次のリストには、エラーメッセージに関する情報と、考えられる原因と解決策が表示されます。
-
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 へのアウトバウンド接続を設定する。 での概説どおりにセットアップされていることを確認します。詳細については、「インターフェイス VPC エンドポイント (AWS PrivateLink)」を参照してください。 Lambda 関数を呼び出すために必要な許可がない
次のいずれかのエラーメッセージが表示された場合、関数を呼び出すユーザー (ロール) に適切な許可がありません。
ERROR: permission denied for schema aws_lambda
ERROR: permission denied for function invoke
Lambda 関数を呼び出すには、ユーザー (ロール) に特定の許可を付与する必要があります。詳しくは、「ステップ 6: Lambda 関数を呼び出すその他のユーザー許可を付与する」を参照してください。
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 アプリケーションの中でエラーに対処します。