无法访问流 arn:aws:dynamodb:us-east-2:144091332251:table/users/stream/2019-06-05T08:00:51.428

Sag*_*ane 2 amazon-web-services amazon-dynamodb amazon-dynamodb-streams

我想在新记录插入dynamodb或现有记录更新后立即触发 lambda 函数。同样,我正在使用 awsdynamodb流功能。我试图这样做,但它使我低于错误。

Cannot access stream arn:aws:dynamodb:us-east-2:144091332251:table/users/stream/2019-06-05T08:00:51.428. Please ensure the role can perform the GetRecords, GetShardIterator, DescribeStream, and ListStreams Actions on your stream in IAM. (Service: AWSLambda; Status Code: 400; Error Code: InvalidParameterValueException; Request ID: c88c1297-438b-11e1-a338-e57e98788b7c)
Run Code Online (Sandbox Code Playgroud)

小智 6

我认为您的 IAM 角色缺少访问流的必要策略。

如果您仍然遇到相同的错误,请按照进一步的步骤操作-

  1. 打开您的 DynamoDB 流 lambda 正在使用的角色。您可以在底部的 Lambda 函数网页中找到。

在此处输入图片说明

  1. 在 IAM 控制台中打开此角色并单击Attach Policy

在此处输入图片说明

  1. 向其添加以下策略 - “AWSLambdaDynamoDBExecutionRole”

此策略具有能够触发 lambda 流所需的权限。请参阅此政策附带的 JSON 文档 -

在此处输入图片说明

我希望,现在它应该可以工作了。

希望能帮助到你。