2015-10-26 20 views
8

मैं DynamoDB को एडब्ल्यूएस लैम्ब्डा से एक छोटी सी एपीआई स्थापित करने के लिए कोशिश कर रहा हूँ और मैं मुसीबत पता लगाना यदि और कैसे मैं एक कुंजी में ऑब्जेक्ट की श्रृंखला लिख ​​सकते हो रहा है की सरणियों।DynamoDB putitem - वस्तुओं

मैंने किसी चीज़

{ 
    "teamName": "Team Awesome", 
    "members": [ 
     { 
      "email": "[email protected]", 
      "name": "Bob" 
     }, 
     { 
      "email": "[email protected]", 
      "name": "Alice" 
     } 
    ] 
} 

तरह सदस्यों सरणी मुझे मुद्दों दे रहा है, डॉक्स में ऐसा लगता है कि यह सूची प्रकार पर विचार किया जा सकता है है, लेकिन अभी कोई उदाहरण इसे कैसे करना कैसे है , और मैं इसे आजमाने के तरीकों से बाहर चला रहा हूं।

तो यह सब पर इस प्रारूप में कुछ लिखने के लिए और इसे कैसे करना है कि मामले में आप करते हैं हो सकता है?

उदाहरण कोड - क्या मैं कम से रखूँ ???

var AWS = require('aws-sdk'); 
var dynamodb = new AWS.DynamoDB(); 

exports.handler = function(event, context) { 
    var tableName = "GDCCompetition"; 
    var datetime = new Date().getTime().toString(); 

    DynamoDB.putItem({ 
     "TableName": tableName, 
     "Item": { 
      "datetime": { 
       "N": datetime 
      }, 
      "teamName": { 
       "S": event.teamName 
      }, 
      "members": ??? 
     } 
    }); 
} 

उत्तर

14

प्रलेखन आप इसे करने के लिए एक सामान्य जे एस वस्तु पारित कर सकते हैं और यह (सभी प्रकार के) के साथ सभी पार्स करने और एडब्ल्यूएस वस्तु में परिवर्तन करना होगा वास्तव में स्पष्ट नहीं है, लेकिन वहाँ एक बात DocClient कहा जाता है। आप इसे इस तरह उपयोग कर सकते हैं:

var AWS = require("aws-sdk"); 
var DynamoDB = new AWS.DynamoDB.DocumentClient(); 

var params = { 
    TableName: "MyTable", 
    Item: { 
     "teamName": "Team Awesome", 
     "members": [ 
      { 
       "email": "[email protected]", 
       "name": "Bob" 
      }, 
      { 
       "email": "[email protected]", 
       "name": "Alice" 
      } 
     ] 
    } 
}; 

DynamoDB.put(params, function (err) { 
    if (err) { 
     return throw err; 
    } 

    //this is put 
}); 
+0

तेज उत्तर के लिए धन्यवाद, लेकिन मुझे समझ में नहीं आता कि मैं गतिशील रूप से कैसे निर्माण करता हूं। मैंने अपने वर्तमान परीक्षण कोड के साथ प्रश्न अद्यतन किया। –

+0

@ErikHonn DocumentClient के साथ आपको ऑब्जेक्ट को गतिशील रूप से बनाने की आवश्यकता नहीं है! आप बस अपनी नियमित वस्तु को 'आइटम' संपत्ति में पास करते हैं और एसडीके आपके लिए परिवर्तन करेगा। –

+0

अच्छा लगता है, लेकिन मुझे कुछ कारण है "किसी भी कारण से" अनुरोध पूरा करने से पहले प्रक्रिया समाप्त हो गई "। –

संबंधित मुद्दे