2015-10-05 15 views
6

İşte kodum.
asset_data json asset_data sütununa eklemek istiyorum. aws sdk kullanıyorum. Şimdi aws sdk'nin json desteği olduğunu söylüyor. http://aws.amazon.com/releasenotes/SDK/JavaScript/1691866671551861json in dynamodb'a nasıl eklenir

var asset_data = { 
    "name": "name" + i, 
    "contentUrl": "http://www.hdwallpapersimages.com/nature-beauty-desktop-images/94892/", 
    "size": 300, 
    "headline": "headline", 
    "description": "assetUrl reference for the creator", 
    "encodingFormat": 'jpeg' 
    }; 

    var params = { 
    TableName: 'xyz', 
    Item: { // a map of attribute name to AttributeValue 
     "asset_id": {S: "asset" + i}, 
     "hit_id": {S: "0"}, 
     "created_date": {"S": Date.now().toString()}, 
     "status": {N: "0"}, 
     "operation": {S: "image_tagging"}, 
     "asset_data": {L: asset_data}, 
     "source": {S: "DAM"}, 
     "completed_date": {S: Date.now().toString()}, 
     "response_data": {S: "taged value"} 
     // more attributes... 
    }, 

    ReturnValues: 'NONE', // optional (NONE | ALL_OLD) 
    ReturnConsumedCapacity: 'NONE', // optional (NONE | TOTAL | INDEXES) 
    ReturnItemCollectionMetrics: 'NONE' // optional (NONE | SIZE) 
    }; 

    db.putItem(params, function (err, data) { 
    if (err) console.log(err); // an error occurred 
    else console.log("inserted..."); // successful response 
    }); 

cevap

7

Sen DynamoDB Belge Müşteri SDK kullanabilirsiniz: belge istemci özellik değerlerinin nosyonunu uzakta soyutlayarak Amazon DynamoDB öğeleri ile çalışma kolaylaştırır

http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#put-property

. Bu soyutlama , giriş parametreleri olarak sağlanan yerel JavaScript türlerini, açıklamalı yanıt verilerini yerel JavaScript türlerine dönüştürürken olarak gösterir. davanız özellikle harita bakmak için

resmi belgelere çıkarılan altında değer (M) örnekte MapAttribute olarak geçirildiği Özellik. Belge İstemci API/doğru sıralanırken ilgilenir (dışı belge tabanlı SDK'yı kullanarak gerektiğinde olduğu gibi size Attribute Values (S,N,L,...) belirtmek gerekmez anlamına gelir) Javascript ve DynamoDB türleri arasında unmarshalling:

var params = { 
    TableName = 'Table', 
    Item: { 
    HashKey: 'haskey', 
    NumAttribute: 1, 
    BoolAttribute: true, 
    ListAttribute: [1, 'two', false], 
    MapAttribute: { foo: 'bar'}, 
    NullAttribute: null 
    } 
}; 

var docClient = new AWS.DynamoDB.DocumentClient(); 

docClient.put(params, function(err, data) { 
    if (err) console.log(err); 
    else console.log(data); 
}); 
+1

Bir put-item yapmak için CLI'den bu DocumentClient() öğesini kullanmanın bir yolu var mı? Dokümantasyonda göremiyorum. Teşekkürler! – Gopala