我正尝试为我的Lambda函数添加2个角色,但出现此错误:
iamRoleStatements应该是一个对象数组,其中每个对象都有“效果”,“操作”和“资源”字段。具体来说,语句1缺少以下属性:资源
我的代码:
InsertImageDB:
handler: index.lambda_handler
module: InsertImageDB
iamRoleStatements:
- Effect: "Allow"
Action:
- dynamodb:Query
- dynamodb:Scan
- dynamodb:UpdateItem
- dynamodb:GetItem
- dynamodb:PutItem
Resource:
Fn::GetAtt:
- imageLibraryTable
- Arn
- Effect: "Allow"
Action:
- sns:*
Ressource:
Ref: DetectLabelTopic
请注意,我正在使用 serverless-iam-roles-per-function ,该功能可以向每个功能添加单独的角色。
答案 0 :(得分:0)
我相信您的问题是,您正在无服务器框架intrinsic functions中使用Cloudformation function section。
特别是:
Resource:
Fn::GetAtt:
- imageLibraryTable
- Arn
和
Ressource:
Ref: DetectLabelTopic
您不想在这里使用intrinsic functions,而是使用无服务器variables的ARN