我对 aws 有点陌生。我一直在尝试创建一个简单的注册表客户端。创建了一个 dynamodb 和一个写入该 dynamodb 的 lambda 函数,这里是代码。问题是请求甚至没有通过日志到达lambda,它说
Execution log for request test-request
Sun Aug 20 14:33:44 UTC 2017 : Starting execution for request: test-invoke-request
Sun Aug 20 14:33:44 UTC 2017 : HTTP Method: POST, Resource Path: /mosesdb
Sun Aug 20 14:33:44 UTC 2017 : Method request path: {}
Sun Aug 20 14:33:44 UTC 2017 : Method request query string: {}
Sun Aug 20 14:33:44 UTC 2017 : Method request headers: {}
Sun Aug 20 14:33:44 UTC 2017 : Method request body before transformations: {
"objectId": "123456789",
"objectFullName": "asdkjh",
"objectPhone": "1234567",
"objectEmail": "@."
}
Sun Aug 20 14:33:44 UTC 2017 : Execution failed due to configuration error: API Gateway does not have permission to assume the provided role
Sun Aug 20 14:33:44 UTC 2017 : Method completed with status: 500
我认为这里重要的部分是
Sun Aug 20 14:33:44 UTC 2017 : Execution failed due to configuration error: API Gateway does not have permission to assume the provided role
我不明白我是否将 API 配置为 授权 无 不需要 API 密钥 那么我为什么以及在何处可以配置角色呢?我到处寻找,有关此的所有信息都与您使用 IAM 身份验证进行身份验证时有关,我是否必须在客户端上使用角色?
请确保您在 API 网关中添加了正确的 lambda 函数 arn。还要设置适当的角色来运行 lambda 函数。Lambda 基本执行角色足以获得基本权限。您可以查看下面的视频,
https://youtu.be/0HwO14p9cjk