【发布时间】:2018-08-11 20:09:10
【问题描述】:
因此,当 lambda 函数尝试从查询使用表上的 GSI 之一的发电机表中读取时,我在其中遇到以下错误:
Unable to query Dynamo at XXXTable
现在我在 cloudformation 文件中定义了 lambda 和 dynamo 表。
这是授予 lambda 访问发电机表的权限的策略。
LambdaPolicy:
Type: AWS::IAM::Policy
Properties:
Roles:
- !Ref LambdaRole
PolicyName: LambdaPolicy
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action:
- "logs:*"
Resource: "arn:aws:logs:*:*:*"
- Effect: Allow
Action:
- "dynamodb:BatchGetItem"
- "dynamodb:BatchWriteItem"
- "dynamodb:DescribeTable"
- "dynamodb:GetItem"
- "dynamodb:PutItem"
- "dynamodb:UpdateItem"
- "dynamodb:DeleteItem"
- "dynamodb:Query"
- "dynamodb:Scan"
Resource:
- !GetAtt XXXTable.Arn
其中 XXXTable 是在同一 cloudformation 文件中定义的 Dynamo 表。 现在我知道我可以通过控制台手动解决这个问题,方法是编辑 lambda 策略并将这一行添加到资源中:
- "arn:aws:dynamodb:eu-west-1:accountNubmer:table/XXXTable/index/*"
但问题是,如何将其添加到 cloudformation 文件中? 比如:
!GetAtt XXXTable.Arn + "/index/*
任何帮助都会很棒。
【问题讨论】:
标签: java amazon-web-services amazon-dynamodb amazon-cloudformation