Lambda 函数错误消息
在下面的列表中,您可以找到有关错误消息的信息,以及可能的原因和解决方案。
-
VPC 配置问题
在尝试连接时,VPC 配置问题可能会引发以下错误消息:
ERROR: invoke API failed DETAIL: Amazon 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 并按照 步骤 1:配置 RDS for PostgreSQL 数据库实例,实现与 Amazon Lambda 的出站连接 所述设置 Amazon PrivateLink。有关更多信息,请参阅接口 VPC 端点 (Amazon 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 应用程序中的错误。