AWS SDK DynamoDB 客户端和 DocumentClient 之间的区别?
我想知道 AWS SDK DynamoDB 客户端和 DynamoDB DocumentClient 之间的区别?在哪个用例中我们应该使用 DynamoDB 客户端而不是 DocumentClient?
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()代码>,<代码>查询()代码>,<代码>扫描()代码>).
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()
).
相关文章