当我尝试使用create-function命令创建lambda函数时,我收到错误消息“为函数定义的角色无法由lambda承担”。
aws lambda创建函数
--区域us-west-2
--函数名HelloPython
--zip文件文件b://hello_python.zip
--角色arn:aws:iam::my-acc-account-id:role/default
--处理程序hello_python.my_handler
--运行时python2.7
--超时15
--内存大小为512
发布于 2016-10-04 20:51:20
因为我还没有更新角色"Trust Relationship“配置文件,所以我收到了错误消息"The role defined for the function defined for the function cannot by Lambda”。我没有遇到评论中链接答案中的超时问题。
以上答案中的注释指出,您需要添加以下内容。
我的结果如下所示。
{
"Version": "2012-10-17",
"Statement": [
{
<your other rules>
},
{
"Effect": "Allow",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
发布于 2016-05-25 21:21:24
我也遇到了这个错误。我还没有得到一个明确的答案,但我想我会传递一些提示,可能会对你和/或其他解决这个问题的人有所帮助。
A)如果您通过将您的帐户ID和角色名称组合在一起来构建角色ARN,我认为帐户ID需要没有任何破折号
B)如果您刚刚创建了角色,并可能向其添加了策略,则似乎存在一个(很小的)时间窗口,在此窗口中角色将触发此错误。在角色上的最后一次操作和create-function调用之间休眠5到6秒允许我绕过这个问题(当然,时间可能是可变的,所以这充其量只是一种变通办法)。
发布于 2020-06-30 12:07:27
我在测试lambda函数时遇到了这个问题。
对我来说起作用的是格式化JSON。
https://stackoverflow.com/questions/36419442
复制相似问题