Difference between AWS SDK DynamoDB client and DocumentClient?(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()
).
这篇关于AWS SDK DynamoDB 客户端和 DocumentClient 之间的区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:AWS SDK DynamoDB 客户端和 DocumentClient 之间的区别?
基础教程推荐
- Electron 将 Node.js 和 Chromium 上下文结合起来意味着 2022-01-01
- 如何使用TypeScrip将固定承诺数组中的项设置为可选 2022-01-01
- 直接将值设置为滑块 2022-01-01
- 我可以在浏览器中与Babel一起使用ES模块,而不捆绑我的代码吗? 2022-01-01
- 用于 Twitter 小部件宽度的 HTML/CSS 2022-01-01
- Chart.js 在线性图表上拖动点 2022-01-01
- html表格如何通过更改悬停边框来突出显示列? 2022-01-01
- Vue 3 – <过渡>渲染不能动画的非元素根节点 2022-01-01
- 如何使用JIT在顺风css中使用布局变体? 2022-01-01
- 自定义 XMLHttpRequest.prototype.open 2022-01-01