0

PutItemリクエストをDynamoDBに送信する際に問題があります。私は同様の質問がhereと答えられていることを理解していますが、私はここに空の値がないようです。AWS DynamoDBのPutItemに関する問題。適切なJSON形式は何ですか?

私のJSONは次のとおりです。

{ 
    "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" 
     } 
    } 
} 

し、エラーがあるにValidationException:

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

誰もが何が起こっているのか知っていますか?

答えて

1

以下のコードを試してください。属性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)); 
    } 
}); 
関連する問題