0

Je n'arrive pas à envoyer des demandes PutItem à DynamoDB. Je comprends qu'une question similaire a été répondu here, mais il semble que je n'ai pas de valeurs vides ici.Problème AWS DynamoDB avec PutItem. Quel est le bon format JSON?

Mon JSON est:

{ 
    "TableName":"Unity", 
    "Item":{ 
     "id":{ 
      "S":"73709359-ac78-46a0-8ca6-414393e33339" 
     }, 
     "Session":{ 
      "S":"b6ba8b6d-ce27-4585-aee5-b9a2393e54da" 
     }, 
     "Pos":{ 
      "X":{ 
       "S":"-16.8" 
      }, 
      "Y":{ 
       "S":"-4.492812" 
      } 
     }, 
     "Time":{ 
      "S":"7/27/2017 3:21:25 PM" 
     } 
    } 
} 

Et l'erreur est un ValidationException:

Supplied AttributeValue is empty, must contain exactly one of the supported datatypes 

Quelqu'un sait ce qui se passe?

Répondre

1

Veuillez essayer le code ci-dessous. J'ai ajouté le type de données Carte pour l'attribut Pos.

var dynamoDB = new AWS.DynamoDB; 

var params = { 
    TableName: "Unity", 
    Item: { 
     "id": { 
      S: "73709359-ac78-46a0-8ca6-414393e33339" 
     }, 
     "Session": { 
      S: "b6ba8b6d-ce27-4585-aee5-b9a2393e54da" 
     }, 
     "Pos": { 
      M: { 
       "X": { 
        S: "-16.8" 
       }, 
       "Y": { 
        S: "-4.492812" 
       } 
      } 
     }, 
     "Time": { 
      S: "7/27/2017 3:21:25 PM" 
     } 
    } 
}; 

console.log("Adding a new item..."); 
dynamoDB.putItem(params, function (err, data) { 
    if (err) { 
     console.error("Unable to add item. Error JSON:", JSON.stringify(err, 
      null, 2)); 
    } else { 
     console.log("Added item:", JSON.stringify(data, null, 2)); 
    } 
});