AWS Cloudformation遇到不受支持的属性类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS Cloudformation遇到不受支持的属性类型相关的知识,希望对你有一定的参考价值。

我正在尝试使用AWS Cloudformation和YAML定义创建DynamoDB表。当我从YAML文件中删除Type时,我得到Type必须存在的错误。所以我想我错过了一些似乎无法找到的东西。

以下是YAML定义:

Resources:
    devDdbDataTable:
      Type: 'AWS::DynamoDB::Table'
      Properties:
        Tags:
          - Key: access_key
            Value: '123'
        AttributeDefinitions:
          - AttributeName: device_id
            Type: 'N'
          - AttributeName: device_ip
            Type: S
          - AttributeName: data
            Type: S
          - AttributeName: created_at
            Type: S
          - AttributeName: ttl
            Type: S
        KeySchema:
          - AttributeName: device_id
            Type: HASH
        ProvisionedThroughput:
          ReadCapacityUnits: 1
          WriteCapacityUnits: 1
        TimeToLiveSpecification:
          AttributeName: ttl
          Enabled: true
答案

问题不是在Resources.devDdbDataTable.Type,而是问题是在Resources.devDdbDataTable.Properties.AttributeDefinitions.Type

AttributeDefinitions应该是这样的列表:

AttributeDefinitions:
  - AttributeName: device_id
    AttributeType: 'N'

所以将Type改为AttributeType

以上是关于AWS Cloudformation遇到不受支持的属性类型的主要内容,如果未能解决你的问题,请参考以下文章

CloudFormation 和 PowerShell:模板格式错误:结构不受支持

AWS CloudFormation:Cognito LambdaTrigger CustomEmailSender - 属性“AWS CloudFormation 目前不支持。”和 CDK 的使用

传递List类型的参数 嵌套的CloudFormation模板

将现有 AWS CloudWatch 警报导出到 CloudFormation 模板

AWS学习笔记--利用CloudFormation管理AWS资源

AWS Cognito 用户池通过 cloudformation 文件