0
我想使用下面給出的代碼在dynamodb中存儲json對象。Lambda + Nodejs + dynamodb:存儲json:爲什麼要把項目存儲數據類型?
exports.handler = function (event, context, callback) {
var docClient = new AWS.DynamoDB.DocumentClient();
var table = "Logs";
id_val = 1
var params = {
TableName: table,
Item: {
"id": id_val,
"message": event
}
};
docClient.put(params, function(err, data) {
if (err) {
callback(null, JSON.stringify(err, null, 2));
context.fail("Unable to add item. Error JSON:", JSON.stringify(err, null, 2));
}
});
}
輸入到事件
[
{
"id": 1,
"demographic": {
"firstName": "John",
"middleName": "w",
"lastName": "Doe",
"suffix": "jr",
"birthDate": "1990-02-02",
"gender": "M",
"ssn": 123
}
}
]
什麼是存儲在表
{
"id": {
"N": "84.20420287568176"
},
"message": {
"L": [
{
"M": {
"demographic": {
"M": {
"birthDate": {
"S": "1990-02-02"
...
...
...
爲什麼被存儲在表中的數據類型?如何分解這個屬性以便分開存儲?
謝謝。但是,當我在Dynamo數據庫控制檯中創建記錄或特別使用諸如firstName:John之類的屬性作爲輸入參數的一部分時,數據類型不會顯示在控制檯中,這是因爲put命令現在知道數據類型之前。問題是,對於沒有定義模式的輸入對象,如何編寫put命令以便每個項目都是db中的單獨屬性? – user9445
對不起,遲到了,真的很忙:)。在REST世界中,客戶端和服務之間總是會有一個關於數據外觀的協議。如果您打算公開您的服務,那麼理想情況下您應該爲您的客戶提供他們應該發送的數據。請查看以下鏈接獲取示例API文檔 https://bocoup.com/blog/documenting-your-api –
感謝您的鏈接。沒有意識到我從未感謝你。遲到比我猜想的晚! – user9445