Oto (część DynamoDB) mój JSON wygenerowany w Troposferze:
"sandbox": {
"Properties": {
"AttributeDefinitions": [
{
"AttributeName": "audit_id",
"AttributeType": "S"
},
{
"AttributeName": "status",
"AttributeType": "S"
},
{
"AttributeName": "filename",
"AttributeType": "S"
},
{
"AttributeName": "file_detected_dt",
"AttributeType": "S"
},
{
"AttributeName": "time_taken",
"AttributeType": "N"
},
{
"AttributeName": "number_rows_processed_file",
"AttributeType": "N"
},
{
"AttributeName": "number_rows_created_db",
"AttributeType": "N"
},
{
"AttributeName": "info_messages",
"AttributeType": "S"
}
],
"KeySchema": [
{
"AttributeName": "audit_id",
"KeyType": "HASH"
}
],
"ProvisionedThroughput": {
"ReadCapacityUnits": {
"Ref": "ReadCapacityUnits"
},
"WriteCapacityUnits": {
"Ref": "WriteCapacityUnits"
}
}
},
"Type": "AWS::DynamoDB::Table"
}
CloudFormation daje mi ten błąd na próby rozpędzają VPC: Property AttributeDefinitions is inconsistent with the KeySchema of the table and the secondary indexes
.
Ale ... czy to jest? Określam audit_id
jako samotny klucz i na pewno istnieje na liście AttributeDefinitions. Jestem bardzo nowy w CF (i Dynamo, jeśli o to chodzi), więc być może brakuje mi czegoś niezwykle oczywistego, ale w tej chwili nie jest to dla mnie oczywiste.
Przeszukałem go w Google i tak naprawdę znalazłem tylko jedną wzmiankę o tym błędzie i było to bardziej związane z warstwą między programistą a CF, a nie z samym CF.
Czy ktoś może wskazać, co jest nie tak z moim szablonem?
amazon-dynamodb
amazon-cloudformation
user1381745
źródło
źródło
Odpowiedzi:
Było to spowodowane nieporozumieniem z mojej strony odnośnie DynamoDB. Że tylko atrybuty, które powinny być zdefiniowane tutaj są te, które zostaną wykorzystane jako klucze. Zatem zmiana tablicy AttributeDefinitions na następującą rozwiązała problem:
źródło