在this serverless.yml example的第19行上,出现以下内容:
Resource: "arn:aws:dynamodb:${opt:region, self:provider.region}:*:table/${self:provider.environment.DYNAMODB_TABLE}"
1)语法${...}
是bash参数扩展的一个实例,例如this guide覆盖的扩展
2)无论如何,上面的行是做什么的?
答案 0 :(得分:1)
这些是变量定义。可以在其他地方定义它们。例子
custom: ${file(env.yml)}
environment: ${self:custom.environment}
然后我在env.yml中这样定义变量
environment: dev
Resource: "arn:aws:dynamodb:${opt:region, self:provider.region}:*:table/${self:provider.environment.DYNAMODB_TABLE}"
该资源是示例DYANMODB_TABLE的资源
您将执行类似这样的操作
- Sid: "LogsAccess"
Effect: "Allow"
Action:
- "logs:CreateLogGroup"
- "logs:CreateLogStream"
- "logs:PutLogEvents"
- "logs:DescribeLogStreams"
Resource: "arn:aws:logs:*:*:*"
但是在这种情况下,您的区块将与dynamodb相关。