amazon-web-services - 如何在无服务器框架 YAML 中使用 Fn::Join?
问题描述
我在 Serverless.yaml 文件中有一个策略,如下所述。
AppSyncDynamoDBPolicy:
Type: AWS::IAM::ManagedPolicy
Properties:
Description: 'Managed policy'
Path: /appsync/
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action:
- dynamodb:GetItem
- dynamodb:PutItem
- dynamodb:DeleteItem
- dynamodb:UpdateItem
- dynamodb:Query
- dynamodb:Scan
- dynamodb:BatchGetItem
- dynamodb:BatchWriteItem
Resource:
Fn::Join:
- ""
- - Fn::GetAtt: [dslvehicleState, Arn]
- "*"
当 sls deploy 完成时,它会引发如下所述的错误。
发生错误:AppSyncDynamoDBPolicy - 策略中的语法错误。(服务:AmazonIdentityManagement;状态代码:400;错误代码:MalformedPolicyDocument;请求 ID:166ba0b3-cc67-11e8-8f74-3339d857f829)。
我在这里想念什么?
解决方案
试试这个,使用Ref
方法:
AppSyncDynamoDBPolicy:
Type: AWS::IAM::ManagedPolicy
Properties:
Description: 'Managed policy'
Path: /appsync/
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action:
- dynamodb:GetItem
- dynamodb:PutItem
- dynamodb:DeleteItem
- dynamodb:UpdateItem
- dynamodb:Query
- dynamodb:Scan
- dynamodb:BatchGetItem
- dynamodb:BatchWriteItem
Resource:
Fn::Join:
- ""
- - "Ref": "dslvehicleState"
- "*"
推荐阅读
- css - 网格:仅指定填充物占用的列数/行数
- excel - 尽管我已经安装了驱动程序,但无法将 Excel 连接到 Oracle。(使用 Excel 的 PowerQuery)
- android - React native error,canOverrideExistingModule=true
- magento2 - After installing Admin Dashboard stuck at loader
- ssh - ssh weak cipher removal... just benefits or drawbacks as well?
- c# - C# class string used on a another Form
- python - Django-taggit - 如何过滤所有标记的对象,为每个标记重复它们?
- python - Using sklearn with complex values
- python - Matplotlib 在 for 循环中显示空图
- python - Why can't I install these specific requirements?