AWS开发工具包DynamoDB客户端和DocumentClient之间的区别? [英] Difference between AWS SDK DynamoDB client and DocumentClient?
问题描述
我想知道AWS开发工具包DynamoDB客户端和DynamoDB DocumentClient之间的区别吗?在哪种用例中,我们应该在DocumentClient上使用DynamoDB客户端?
I want to know the difference between the AWS SDK DynamoDB client and the DynamoDB DocumentClient? In which use case should we use the DynamoDB client over the DocumentClient?
const dynamoClient = new AWS.DynamoDB.DocumentClient();
vs
const dynamo = new AWS.DynamoDB();
推荐答案
我认为这是最好的答案通过比较两个做相同事情的代码示例。
I think this can be best answered by comparing two code samples which do the same thing.
这是使用dynamoDB客户端放置项目的方式:
Here's how you put an item using the dynamoDB client:
var params = {
Item: {
"AlbumTitle": {
S: "Somewhat Famous"
},
"Artist": {
S: "No One You Know"
},
"SongTitle": {
S: "Call Me Today"
}
},
TableName: "Music"
};
dynamodb.putItem(params, function (err, data) {
if (err) console.log(err)
else console.log(data);
});
以下是使用DocumentClient API放置同一项目的方法:
Here's how you put the same item using the DocumentClient API:
var params = {
Item: {
"AlbumTitle": "Somewhat Famous",
"Artist": "No One You Know",
"SongTitle": "Call Me Today"
},
TableName: "Music"
};
var documentClient = new AWS.DynamoDB.DocumentClient();
documentClient.put(params, function (err, data) {
if (err) console.log(err);
else console.log(data);
});
在 DocumentClient
中可以看到 Item
以更自然的方式指定。在所有其他更新DDB的操作( update()
, delete()
)和返回的项目中也存在类似的区别从读取操作( get()
, query()
, scan()
)。
As you can see in the DocumentClient
the Item
is specified in a more natural way. Similar differences exist in all other operations that update DDB (update()
, delete()
) and in the items returned from read operations (get()
, query()
, scan()
).
这篇关于AWS开发工具包DynamoDB客户端和DocumentClient之间的区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!