首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为函数定义的角色不能由Lambda承担

为函数定义的角色不能由Lambda承担
EN

Stack Overflow用户
提问于 2016-04-05 15:09:35
回答 10查看 69.8K关注 0票数 69

当我尝试使用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

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2016-10-04 20:51:20

因为我还没有更新角色"Trust Relationship“配置文件,所以我收到了错误消息"The role defined for the function defined for the function cannot by Lambda”。我没有遇到评论中链接答案中的超时问题。

以上答案中的注释指出,您需要添加以下内容。

  1. 转到'IAM > Roles > YourRoleName‘
    • (注意:如果您的角色未列出,则需要创建IAM

  1. 选择“Trust Relationship”选项卡
  2. 选择“Edit Trust Relationship”

我的结果如下所示。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      <your other rules>
    },
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "lambda.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
票数 100
EN

Stack Overflow用户

发布于 2016-05-25 21:21:24

我也遇到了这个错误。我还没有得到一个明确的答案,但我想我会传递一些提示,可能会对你和/或其他解决这个问题的人有所帮助。

A)如果您通过将您的帐户ID和角色名称组合在一起来构建角色ARN,我认为帐户ID需要没有任何破折号

B)如果您刚刚创建了角色,并可能向其添加了策略,则似乎存在一个(很小的)时间窗口,在此窗口中角色将触发此错误。在角色上的最后一次操作和create-function调用之间休眠5到6秒允许我绕过这个问题(当然,时间可能是可变的,所以这充其量只是一种变通办法)。

票数 45
EN

Stack Overflow用户

发布于 2020-06-30 12:07:27

我在测试lambda函数时遇到了这个问题。

对我来说起作用的是格式化JSON。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36419442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档