2015-10-05 33 views
6

ここに私のコードです。
asset_datajsonをasset_dataの列に挿入します。 私はaws sdkを使用しています。 aws sdkは現在jsonをサポートしています。 http://aws.amazon.com/releasenotes/SDK/JavaScript/1691866671551861dynamodbにjsonを挿入する方法

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の 内の項目での作業が簡素化されます。この抽象化 は、入力パラメータとして提供されるネイティブJavaScriptタイプに注釈を付けます( )。注釈付きの応答データをネイティブJavaScriptタイプに変換します。あなたのケースでは

特に公式ドキュメントから抽出された以下の例ではMapAttributeとして渡されている地図の属性値(M)を見てください。ドキュメントのクライアントAPIは、JavascriptとDynamoDBのタイプ(あなたがそれを必要とするような非ドキュメントベースのSDKを使用しているとき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

このDocumentClient()をCLIから使用してput-itemを実行する方法はありますか?ドキュメンテーションで見ることはできません。ありがとう! – Gopala

関連する問題