在我将API部署到lambda之后,我已经使用无服务器创建了我的API,并且我尝试通过"测试"来测试端点。在GatewayAPI中的按钮,我收到错误:
"用户:arn:aws:sts :: 245912153055:assume-role / pets-service-dev-us-east-1-lambdaRole / pets-service-dev-listPets无权执行:dynamodb :扫描资源:arn:aws:dynamodb:us-east-1:245912153055:table / Pets"
我可能需要向Lambda提供许可,但我有点迷失......
答案 0 :(得分:6)
如前所述,您需要为无服务器定义添加权限。
关于这个主题的文档相当广泛: serverless IAM guide
在您的情况下,您可能只需要向serverless.yml添加类似以下权限的内容。
provider:
iamRoleStatements:
- Effect: "Allow"
Action:
- "dynamodb:Scan"
Resource: "arn:aws:dynamodb:us-east-1:245912153055:table/Pets"
答案 1 :(得分:0)
我参加聚会有点晚了,但是它仍然可以帮助人们知道目前(2019年3月)在创建lambda时使用nodejs vs 8.10似乎存在问题。添加所有必要的权限仍然会导致上述错误。一个简单的解决方法是暂时使用较低的nodejs版本。希望问题尽快得到解决