在this tutorial on AWS之后,我尝试通过网络控制台测试api时遇到了障碍(正如许多其他人所做的那样):
Thu Nov 10 22:54:48 UTC 2016 : Execution failed due to configuration error: Invalid permissions on Lambda function
我已经阅读了我能找到的SO和AWS论坛上的所有相关帖子,但无法弄清楚如何授予API网关调用Lambda函数的权限。
答案 0 :(得分:7)
感谢this mate我找到了一个快速解决方法:
进入Web控制台并选择
资源方法>集成请求> Lambda函数旁边的铅笔> lambda函数旁边的复选标记(不要更改名称)
弹出窗口应警告您授予API执行lambda函数的权限。
另外,感谢Richard Downer对此代码的解释:
资源策略与IAM策略不同,设置IAM策略将不起作用。
创建Write-AGIntegration后,您需要使用Add-LMPermission api调用。
以下是一个例子:
Add-LMPermission -FunctionName myfunction -Action lambda:InvokeFunction -Principal apigateway.amazonaws.com -SourceArn arn:aws:execute-api:us-west-2:IAMAccountNumber:*/*/POST/apiendpoint -StatementId description