在YAML中使用Fn::GetAtt时,流集合条目之间缺少逗号



我正试图在YAML中为DynamoDB添加一个事件流,DynamoDB表是一个基于在它部署到的环境中,我使用Fn::GetAtt来确定TABLE_NAME,但它给了我一个例外。

  1. 语法正确吗
  2. 除了Fn::GetAtt之外,是否有其他方法可以在YAML中配置流

异常:

missed comma between flow collection entries in "erverless.yml" at line 60, 
column28:Fn::GetAtt: [ ${self:custom.TABLE_NAME ...

代码:

custom:
TABLE_NAME : mix of account + env + name
events:
- stream:
type: dynamodb
arn:
Fn::GetAtt: [ ${self:custom.TABLE_NAME}, StreamArn ]

在YAML流集合中,必须引用具有{}[等字符的字符串,因为{启动流映射,[启动流序列。不需要空间。所以它应该是这样的:

arn:
Fn::GetAtt: [ '${self:custom.TABLE_NAME}', StreamArn ]

有关YAML中几乎所有类型的引用的信息,您可以查看https://www.yaml.info/learn/quote.html(免责声明:我是作者(。

最新更新