web-dev-qa-db-fra.com

PropertyDefinition incohérent

J'ai le modèle suivant que j'utilise dans l'interface utilisateur cloudformation pour créer une table dynamoDB. Je veux créer une table avec PrimaryKey comme [~ # ~] id [~ # ~] et sortKey comme Valeur

{
  "AWSTemplateFormatVersion" : "2010-09-09",

  "Description" : "DB Description",

  "Resources" : {
    "TableName" : {
      "Type" : "AWS::DynamoDB::Table",
      "Properties" : {
        "AttributeDefinitions": [ { 
          "AttributeName" : "ID",
          "AttributeType" : "S"
        }, { 
          "AttributeName" : "Value",
          "AttributeType" : "S"
        } ],
        "KeySchema": [
          { 
            "AttributeName": "ID", 
            "KeyType": "HASH"
          }
        ]                
      },
      "TableName": "TableName"
    }
  }
}

Sur l'interface utilisateur des FC, je clique sur une nouvelle pile, pointe sur le fichier template à partir de mon ordinateur local, attribue un nom à la pile et cliquez sur Suivant. Après quelque temps, j'obtiens une erreur qui dit La propriété AttributeDefinitions est incompatible avec le KeySchema de la table et les index secondaires

57
Em Ae

Le problème est que le Resources.Properties.AttributeDefinitions key doit niquement définir les colonnes utilisées pour les index ou les clés. En d'autres termes, les clés dans Resources.Properties.AttributeDefinitions doit correspondre aux mêmes clés définies dans Resources.Properties.KeySchema.

Documents AWS:

AttributeDefinitions: une liste d'objets AttributeName et AttributeType décrivant le schéma de clé de la table et des index.

le modèle résultant ressemblerait à ceci:

{
  "AWSTemplateFormatVersion" : "2010-09-09",

  "Description" : "DB Description",

  "Resources" : {
    "TableName" : {
    "Type" : "AWS::DynamoDB::Table",
    "Properties" : {
      "AttributeDefinitions": [ { 
        "AttributeName" : "ID",
        "AttributeType" : "S"
      } ],
      "ProvisionedThroughput":{
        "ReadCapacityUnits" : 1,
        "WriteCapacityUnits" : 1
      },
      "KeySchema": [
        { 
          "AttributeName": "ID", 
          "KeyType": "HASH"
        }
       ] ,               
      "TableName": "table5"
    }
   }
  }
}
99
jens walter