当前位置: 首页 > 知识库问答 >
问题:

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

危飞文
2023-03-14

当我试图用create-function命令创建一个lambda函数时,我得到了一个错误:“为函数定义的角色不能由lambda承担”。

aws lambda create-function
--region US-West-2
--function-name hellopython
--zip-file fileb:/hello_python.zip
--role arn:aws:iam::my-acc-account-id:role/default
--handler hello_python.my_handler
--runtime python2.7
--timeout 15
--memory-size 512

共有2个答案

强烨
2023-03-14

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

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

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

陈君之
2023-03-14

我收到错误“为函数定义的角色不能由lambda承担”,因为我没有更新角色的“信任关系”配置文件。我没有遇到超时的问题,如在评论中链接的答案。

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

  • 转到'IAM>角色>YourRoleName'
    • (注意:如果未列出您的角色,则需要创建它。)

    我的结果就像下面这样。

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

 类似资料:
  • 我有两个AWS帐户(A和B)。在我的帐户A上,我有一个lambda功能,需要访问帐户B的资源。确切地说,我的帐户A上的lambda需要更新我帐户B上托管的Route53区域中的记录。 与S3相反,我在Route53中没有看到任何资源访问策略。所以我有点迷路了。我试图扮演IAM的跨账户角色,但这似乎对lambda不起作用。 如何允许帐户a上的lambda函数访问我的帐户B的资源?

  • 在我们的应用程序中,我们使用自定义角色访问aws API。在开发者环境中,我们在app.config中提供访问密钥和秘密密钥,它工作得很好。 在prod环境中,我们设置了一个IAM角色,该角色对自定义角色具有必要的权限,EC2实例将使用该IAM角色启动。当我们尝试使用代码切换角色时,我们会遇到以下错误 消息:用户:arn:aws:sts::XXXXXXXXX:假定角色//i-0490fbbb5ea

  • 我正在使用Liferay 6.1 CE、Tomcat、Vaadin 6.8.4,这可能是我的错误做法,也可能是我遗漏了一些明显的东西 我需要为我的用户控制crud功能-允许访问他们所属的组织和低于该组织的任何子组织。(我正在使用Liferay的组织表) 在尝试简化权限管理时,我曾希望将用户分配给层次结构中的组织。然后可以根据分配给该组织和任何父组织的角色来确定默认权限。这似乎对常规角色很有效——但

  • 自定义角色:只有团队负责人、团队管理员和地图管理员三个角色可以创建自定义角色,可以自定义角色的名称和权限。 自定义角色分为: 自定义地图角色:对地图级别进行权限设置 自定义图层角色:对图层级别进行权限设置 自定义子图层角色:对子图层级别进行权限设置 自定义业务流角色:对业务流层级进行权限设置 1.创建自定义角色: 以地图角色创建为例,点击“创建新角色”,出现创建创建新角色的弹框。点击“地图角色”。

  • 我使用react-bootstrap-datetimerangepicker库和bind()从日历中获取选定的日期,但是这个库的“on apply”函数传递了两个参数(event、picker),在“预定义”中,我没有得到假定出现在第二个参数中的startDate和endDate。没有束缚它就不起作用 https://github.com/luqin/react-bootstrap-datetim

  • 问题内容: 我希望能够打印lambda函数的定义代码。 如果我通过lambda语法定义此函数的示例: 我想得到以下输出: 问题答案: 只要将代码保存到源文件中 ,就可以使用检查模块检索对象的源代码。 示例:打开编辑器类型: 另存为lamtest.py 打开shell类型的python进入交互式python,输入以下内容: 结果: