Ecco (la parte DynamoDB di) mia troposfera generati JSON:CloudFormation insiste la mia creazione DynamoDB JSON è valido .. ma non riesco a vedere come
"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 mi dà questo errore sul tentativo di spin up il VPC: Property AttributeDefinitions is inconsistent with the KeySchema of the table and the secondary indexes
.
Ma ... è così? Sto specificando audit_id
come chiave solitaria e sicuramente esiste all'interno dell'elenco AttributeDefinitions. Sono molto nuovo a CF (e Dynamo, se è per questo) quindi potrei stare perdendo qualcosa di estremamente ovvio, ma al momento non mi è chiaro.
Ho cercato su Google e ho trovato davvero solo una menzione di questo errore, e si trattava più di uno strato tra sviluppatore e CF, piuttosto che CF stesso.
Qualcuno può segnalare cosa c'è di sbagliato nel mio modello?
Questo viene anche catturata [qui] (http://stackoverflow.com/a/30924384/1111215) –
L'errore qui cercava di definire la schema della tabella (cioè le 'colonne' della tabella nel DB relazionale parlano). In DynamoDb si definisce solo la chiave con cui recuperare i valori dell'elemento nella tabella, non lo schema dell'elemento stesso. DynamoDb è senza schemi e i valori memorizzati su ogni chiave vengono definiti quando viene aggiunto l'elemento. Non esiste una forma dati da definire. – Zodman
@Zodman Grazie mille per il tuo commento in particolare questa parte: "DynamoDb è schemaless, e i valori memorizzati su ogni chiave sono definiti quando l'elemento viene aggiunto. Non c'è nessuna forma di dati da definire" –