2016-07-20 24 views
1

Dynamodbローカル(ポート8080)でAWS.DynamoDB.DocumentClientを使用しています。 putを実行すると、コールバックの変数dataは空のオブジェクトになります。私は何かを逃したか?AWS.DynamoDB.DocumentClientがputにデータを提供していません

import * as AWS from "aws-sdk"; 


AWS.config.update({ 
    region: "us-west-2", 
    endpoint: "http://localhost:8080" 
}); 


const docClient: any = new AWS.DynamoDB.DocumentClient(); 


const item = { 
     someField: "456", 
     other:   "123" 
}; 

const params = { 
    TableName: "TableName", 
    Item: item 
}; 

docClient.put(params, function(err, data) { 
    if (err) console.log(err); 
    else console.log(data); // this produces: {} 
}); 

は誤りがない、との項目が更新\挿入されている - data変数が空のオブジェクトですが。これには値を入れてはいけませんか?

おかげ

答えて

1

あなたは戻ってくる任意の値を求めていないので、なぜあなたは戻ってきたすべての値があると期待していますか?応答のいずれかを返信したい場合は、適切なパラメータReturnConsumedCapacityおよび/またはReturnItemCollectionMetricsおよび/またはReturnValuesを設定する必要があります。

+1

したがって、挿入されたオブジェクトまたはその属性の一部を返すput()を取得する正しい構文は何ですか? –

+1

@DangerGinger詳細については、DocumentClientページのパラメータドキュメントを参照してください。http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#put-property –

+1

@ MasonG.Zhwiti、やりました。それが最終的に解決策を見つけました。私はこの質問をGoogle検索し、この答えは良いヒントですが、OPの質問に特定の解決策を提供していません。 –

0

あなたは、私はシンプルで渡されたオリジナルアイテムデータをバック渡すことによって、その周りに働いていた、実際に役に立つ何かを返す「ReturnValues」の値を設定することができないので。

import * as AWS from "aws-sdk"; 


AWS.config.update({ 
    region: "us-west-2", 
    endpoint: "http://localhost:8080" 
}); 


const docClient: any = new AWS.DynamoDB.DocumentClient(); 


const item = { 
     someField: "456", 
     other:   "123" 
}; 

const params = { 
    TableName: "TableName", 
    Item: item 
}; 

// Have a clear reference to this scope 
var self = this; 

docClient.put(params, function(err, data) { 
    if (err) console.log(err); 
    else console.log(self.params.Item); // this should return the data you passed in! 
}); 

私は「自己を設定します"これを"私はどこからデータを読んでいるかを明確にするために "として。誰かを助けることを願って!

関連する問題