Thi*_*age 6 javascript amazon-web-services amazon-dynamodb aws-sdk
我想知道AWS开发工具包DynamoDB客户端和DynamoDB DocumentClient之间的区别吗?在哪种用例中,我们应该在DocumentClient上使用DynamoDB客户端?
const dynamoClient = new AWS.DynamoDB.DocumentClient();
vs
const dynamo = new AWS.DynamoDB();
Run Code Online (Sandbox Code Playgroud)
我认为这可以通过比较两个做相同事情的代码样本来最好地解决。
这是使用dynamoDB客户端放置项目的方式:
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);
});
Run Code Online (Sandbox Code Playgroud)
这是使用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);
});
Run Code Online (Sandbox Code Playgroud)
正如你可以在看DocumentClient的Item是一个更自然的方式规定。类似的分歧在所有其他操作存在该更新DDB( ,update()),delete()并从读操作返回的项目(get(),query(),scan())。
根据DocumentClient 的公告:
文档客户端抽象使使用适用于JavaScript的AWS开发工具包更轻松地向Amazon DynamoDB读写数据。现在,您可以使用本机JavaScript对象,而无需将其注释为AttributeValue类型。
从本质上讲,这是在SDK中调用dynamoDB的一种更简单的方法,并且还将带注释的响应数据转换为本地JS类型。通常,在数据库上执行更多“特殊”操作(如创建表等)时,仅应使用常规DynamoDB客户端。这通常在CRUD范围之外。
| 归档时间: |
|
| 查看次数: |
288 次 |
| 最近记录: |