出现“API未根据lambda授权程序的响应调用,返回空消息。”的错误通常是由于未正确配置API Gateway与Lambda函数之间的授权程序所致。下面是一种可能的解决方法:
确保在API Gateway中正确配置了Lambda函数作为集成端点。确保已将Lambda函数与API资源关联。
确保在API Gateway的集成请求中选择了正确的授权类型。如果您使用的是Lambda授权程序,则应选择“AWS_IAM”授权类型。
确保Lambda函数的执行角色具有足够的权限来执行所需的操作。您可以通过将以下IAM策略附加到Lambda函数的执行角色来授予所需的权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"lambda:InvokeFunction"
],
"Resource": [
"arn:aws:lambda:::function:"
]
}
]
}
请确保将
,
和
替换为正确的值。
如果您使用的是自定义授权程序(如使用Cognito用户池进行授权),请确保已正确配置授权程序,并且Lambda函数正确地处理来自授权程序的请求。
检查Lambda函数的代码,确保它正确处理API Gateway发送的请求,并以正确的格式返回响应。确保您的Lambda函数返回非空的有效响应,以便API Gateway可以将其返回给调用者。
使用以上步骤中的解决方法,您应该能够解决“API未根据lambda授权程序的响应调用,返回空消息。”的问题。