【问题标题】:Aws lambda not connecting with Dynamo DbAws lambda 未与 Dynamo Db 连接
【发布时间】:2018-02-26 20:17:57
【问题描述】:

我在尝试触发时收到此错误

创建触发器时出错:无法访问流 arn:aws:dynamodb:us-east-2:xxxxxx:table/xxxx/stream/2017-09-18T07:47:01.834。 请确保角色可以执行 GetRecords、GetShardIterator、 在 IAM 中对您的流执行 DescribeStream 和 ListStreams 操作。

请帮帮我,

【问题讨论】:

    标签: amazon-web-services lambda


    【解决方案1】:

    将触发器附加到 DynamoDb 表时,您将收到 OP 发布的错误

    您需要向为该 lambda 函数生成的 IAM 角色添加策略。

    这是可用于创建策略的示例 JSON,只需替换 lambda 函数和流式 ARN。

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "lambda:InvokeFunction",
                "Resource": "arn:aws:lambda:region:accountnumber:function:functionname"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "dynamodb:DescribeStream",
                    "dynamodb:GetRecords",
                    "dynamodb:GetShardIterator",
                    "dynamodb:ListStreams"
                ],
                "Resource": "arn:aws:dynamodb:region:accountnumber:table/table-name/stream/2019-02-27T07:41:49.893"
            }
        ]
    }
    

    创建策略并将其附加到角色后,您可以返回到 DynamoDB 并使用 lambda 函数创建新触发器。如果操作正确,它将创建没有错误。

    【讨论】:

    【解决方案2】:

    根据错误消息,您的 IAM 设置不正确。您需要将这些类型的角色分配给您的用户。

    您必须创建一个策略,允许您的 AWS 函数访问 Cloudwatch 日志以及您刚刚创建的表。转到 IAM 控制台,选择“角色”,然后选择“创建新角色”。

    选择“AWS Lambda”角色:

    然后单击“下一步”跳过“附加策略”部分

    http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html 将帮助您解决此错误。 另外,我尝试关注来自:https://github.com/dwyl/learn-aws-lambda#what-is-lambda 的信息,用于访问 dynamodb,它与 root(main) 用户一起工作正常。

    【讨论】:

      【解决方案3】:

      似乎您只需要使用策略 AWSLambdaDynamoDBExecutionRole 创建此角色并附加到您的 lambda。您可能不希望完全访问,因为这是一个读取操作。

      【讨论】:

        【解决方案4】:

        当您创建 lambda 函数时,Lambda 默认为创建的 lambda 函数创建一个角色,但该角色不足以授予 Dynamo 调用 lambda 函数的权限。因此,在角色部分中寻找您的 lambda 函数并附加 AWSLambdaInvocation-DynamoDB 策略。

        【讨论】:

          【解决方案5】:

          我必须做的是转到 IAM 管理控制台并将 AmazonDynamoDBFullAccess 附加到特定角色。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-07-23
            • 2019-04-10
            • 1970-01-01
            • 2019-09-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多