CloudFormation 模板的保留字?

Posted

技术标签:

【中文标题】CloudFormation 模板的保留字?【英文标题】:Reserved words for CloudFormation templates? 【发布时间】:2018-07-31 03:45:53 【问题描述】:

CloudFormation 模板是否有保留字、变量等?我指定了一个名为“Config”的 DynamoDB 表:

  # ...standard CF definition
  Resources:
    # ...other resources that correctly build
    Config:
      Type: AWS::DynamoDB::Table
      Properties:
        TableName: my-app-config
        AttributeDefinitions:
          - AttributeName: name
            AttributeType: S
        KeySchema:
          - AttributeName: name
            KeyType: HASH
        ProvisionedThroughput:
          ReadCapacityUnits: 1
          WriteCapacityUnits: 1

...并应用了模板,但没有创建资源。我在 CloudFormation 控制台中看不到任何错误。

【问题讨论】:

你的表名是my-app-config 【参考方案1】:

您的资源名称 (Config) 不会造成任何问题。

Config 资源必须嵌套在 Resources 对象下,如下所示:

---
AWSTemplateFormatVersion: '2010-09-09'
Description: My Stack

Resources:
  Config:
    Type: AWS::DynamoDB::Table
    Properties:
      TableName: my-app-config
      AttributeDefinitions:
        - AttributeName: name
          AttributeType: S
      KeySchema:
        - AttributeName: name
          KeyType: HASH
      ProvisionedThroughput:
        ReadCapacityUnits: 1
        WriteCapacityUnits: 1

【讨论】:

谢谢@spg,它在资源下是正确的,我更新了问题以反映这一点 您知道,我使用答案中的片段成功创建了一个堆栈。要么创建了 DynamoDB 表,但您找不到它(您是否错误地查看了不同的 AWS 区域?),或者错误源于您未显示的 CloudFormation 模板的另一部分。 谢谢@spg,我同意这可能是另一个错误。还不知道是什么

以上是关于CloudFormation 模板的保留字?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法使用 cloudformation 修改 AWS 现有资源?

SAM 模板和 Cloudformation 模板的区别

扩大 Cloudformation 模板

如何使用 cloudformation 或 yaml 将保留天数设置为日志流

如何修复与 AWS::CloudFormation::Init 一起创建 EC2 的 cloudformation 模板

CloudFormation 模板导入其他模板