【问题标题】:How to attach policy to a role while creating an AWS lambda function in nodejs in AWS CLI? Facing error while attaching role如何在 AWS CLI 的 nodejs 中创建 AWS lambda 函数时将策略附加到角色?附加角色时遇到错误
【发布时间】:2017-01-15 18:23:57
【问题描述】:

我正在创建一个 nodejs 应用程序并将其部署为 AWS 上的 lambda 函数。我正在关注链接: http://docs.aws.amazon.com/lambda/latest/dg/with-on-demand-https-example-create-iam-role.html

我现在卡在步骤 2.2-2.3。步骤 2.2 包含带有需要附加到角色的策略的 json。当我使用以下命令(步骤 2.3)创建 lambda 函数时:

ws lambda create-function --region us-east-1 --function-name LambdaFunctionOverHttps --zip-file fileb://LambdaFunctionOverHttps.zip --role execution-role-arn --handler LambdaFunctionOverHttps.handler --runtime nodejs4.3 

然后我得到以下错误:-

调用时发生错误(ValidationException) CreateFunction 操作:检测到 1 个验证错误:值 'role' 处的 'execution-role-arn' 未能满足约束:成员 必须满足正则表达式模式: arn:aws:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@-_/]+

我什至创建了包含步骤 2.2 中的 json 的文件“execution-role-arn”。如何解决此错误并创建 lambda 函数?

【问题讨论】:

    标签: amazon-web-services amazon-iam aws-lambda


    【解决方案1】:

    我遇到了同样的错误,原来您必须指定角色 ARN,而不是角色名称。因此,不要使用 --role roleName ,而是使用 --role arn:aws:iam::1234567891:role/service-role/roleName 。您可以通过单击 角色 选项卡中的角色名称来找到您的角色 ARN,然后在顶部您会找到角色 ARN。

    AWS 确实需要修复他们几乎所有服务的文档。

    【讨论】:

      【解决方案2】:

      更新:角色需要替换为 lambda 函数的实际 arn 角色名称,而不是单独的文件。这可以在您刚刚在步骤 2.2 中创建的角色上找到。所以,正确的做法如下:

      aws lambda 创建函数 --region us-east-1 --function-name LambdaFunctionOverHttps
      --zip-file fileb://LambdaFunctionOverHttps.zip --role arn:aws:iam::9999999999999:role/lambda-gateway-execution-role --handler LambdaFunctionOverHttps.handler --runtime nodejs4.3

      这很好,并且创建了 lambda 函数。请注意,我已使用 aws config 命令将默认配置文件指向管理员。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-09-19
        • 2017-05-17
        • 2020-10-31
        • 1970-01-01
        • 1970-01-01
        • 2017-12-13
        • 2021-02-21
        • 2019-08-19
        相关资源
        最近更新 更多