2015-10-05 2 views
6

में जेसन डालने के लिए यहां मेरा कोड है।
मैं asset_data जेसन asset_data कॉलम में डालना चाहता हूं। मैं aws sdk का उपयोग कर रहा हूँ। यह कहता है कि एसएसके अब जेसन के लिए समर्थन है। http://aws.amazon.com/releasenotes/SDK/JavaScript/1691866671551861dsonodb

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 
    }); 

उत्तर

7

आप DynamoDB दस्तावेज़ क्लाइंट SDK का उपयोग कर सकते हैं:

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

दस्तावेज़ ग्राहक विशेषता मान की धारणा दूर सार संक्षेप द्वारा अमेज़न DynamoDB में आइटम के साथ काम करने की प्रक्रिया को सरल। यह अमूर्त इनपुट पैरामीटर के रूप में आपूर्ति किए गए मूल जावास्क्रिप्ट प्रकारों को एनोटेट करता है, के रूप में अच्छी तरह से एनोटेटेड प्रतिक्रिया डेटा मूल जावास्क्रिप्ट प्रकारों में परिवर्तित करता है।

अपने मामले विशेष रूप से मानचित्र पर देखने के लिए विशेषता मान (M) उदाहरण में MapAttribute के रूप में पारित किया जा रहा आधिकारिक दस्तावेज से निकाले नीचे। दस्तावेज़ क्लाइंट API उचित मार्शलिंग का ख्याल रखता है/जावास्क्रिप्ट और DynamoDB प्रकार के बीच unmarshalling (अर्थात आपका Attribute Values (S,N,L,...) निर्दिष्ट करने के लिए के रूप में यह गैर दस्तावेज़ आधारित एसडीके का उपयोग करते समय की आवश्यकता है नहीं है):

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

क्या इस दस्तावेज़ क्लाइंट() चीज को सीएलआई से पुट-आइटम करने के लिए उपयोग करने का कोई तरीका है? इसे दस्तावेज़ीकरण में नहीं देख सकते हैं। धन्यवाद! – Gopala