【问题标题】:Lambda http triggerLambda http 触发器
【发布时间】:2020-12-28 23:00:47
【问题描述】:
我在 AWS 中创建了一个 lambda 函数。
我想通过 API Gateway/http 调用来触发它。
创建 http 触发器后,我可以看到以下内容:
但是当我尝试对这个地址使用 GET/POST 调用时,我收到“内部服务器错误”。
我检查了日志,看到以下内容:
在集成或 API Gateway 上配置的 IAM 角色无权调用集成。检查权限,然后重试。
我该怎么办?我需要什么权限?
【问题讨论】:
标签:
amazon-web-services
aws-lambda
aws-api-gateway
【解决方案1】:
引用文档here
当 API 与 AWS 服务(例如,AWS
Lambda) 在后端,API 网关也必须有权限
访问集成的 AWS 资源(例如,调用 Lambda
函数)代表 API 调用者。要授予这些权限,
为 API Gateway 类型创建 AWS 服务的 IAM 角色。当你
在 IAM 管理控制台中创建此角色,此生成的角色
包含以下 IAM 信任策略,将 API Gateway 声明为
获准担任该角色的受信任实体:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "apigateway.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}