You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS CloudFormation YAML创建DynamoDB表时Type属性矛盾报错求助

解决AWS CloudFormation DynamoDB表的Type属性矛盾问题

这种矛盾报错十有八九是你混淆了CloudFormation中DynamoDB资源定义里的不同层级的类型字段,我来给你拆解清楚:

核心误区:用错了字段名

CloudFormation对DynamoDB表的属性定义有严格的字段要求:

  • 在AttributeDefinitions列表中,每个属性的类型字段是AttributeType(不是Type),取值只能是S(字符串)、N(数字)、B(二进制)
  • 在KeySchema列表中,键的类型字段是KeyType(不是Type),取值只能是HASH(分区键)或RANGE(排序键)

如果你把AttributeType写成了Type,CloudFormation会提示“不支持的属性Type”;但如果你完全删掉这个类型字段,又会因为缺少必填的属性类型而报错,这就是你遇到矛盾的原因。

正确的DynamoDB表YAML示例

下面是一个标准的单分区键表的定义,你可以对照修改你的模板:

AWSTemplateFormatVersion: "2010-09-09"
Resources:
  MyDynamoDBTable:
    Type: AWS::DynamoDB::Table
    Properties:
      TableName: MySampleTable
      AttributeDefinitions:
        - AttributeName: "UserId"
          AttributeType: "S"  # 这里必须用AttributeType,不是Type
      KeySchema:
        - AttributeName: "UserId"
          KeyType: "HASH"  # 这里必须用KeyType,不是Type
      ProvisionedThroughput:
        ReadCapacityUnits: 1
        WriteCapacityUnits: 1

额外检查点

如果你用的是按需计费模式,记得替换ProvisionedThroughput为BillingMode: PAY_PER_REQUEST,避免不必要的报错。

内容的提问来源于stack exchange,提问作者maranovot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 06:57:28