我正试图在YAML中为DynamoDB添加一个事件流,DynamoDB表是一个基于在它部署到的环境中,我使用Fn::GetAtt
来确定TABLE_NAME
,但它给了我一个例外。
- 语法正确吗
- 除了
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(免责声明:我是作者(。