微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将标准 JSON 插入 DynamoDB aws-sdk js v3

如何解决将标准 JSON 插入 DynamoDB aws-sdk js v3

我正在尝试使用 缩略图 字段中的 aws-sdk version 3 for JSStandard JSON注册 DynamoDB

在第 2 版中允许使用 put 方法,在第 3 版中现在是命令,但我没有看到等效的命令。

我的代码

const { DynamoDBClient,Putitemcommand } = require('@aws-sdk/client-dynamodb');

const DynamoDBDocclient = new DynamoDBClient({ region: "us-east-1"});
const item = {
    PK: "My_pk",SK: "My_sk",username: "My_username",thumbnail: {
        id: "My_id",width: "My_width",height: "My_height"
    }
}

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

await DynamoDBDocclient.send(new Putitemcommand(params));

错误

ERROR   TypeError: Cannot read property '0' of undefined
at Object.visit (/var/task/node_modules/@aws-sdk/client-dynamodb/dist/cjs/models/models_0.js:1101:40)
at serializeAws_json1_0AttributeValue (/var/task/node_modules/@aws-sdk/client-dynamodb/dist/cjs/protocols/Aws_json1_0.js:4612:38)
at /var/task/node_modules/@aws-sdk/client-dynamodb/dist/cjs/protocols/Aws_json1_0.js:5514:20
at Array.reduce (<anonymous>)

我只能注册它使用的项目marshall(来自@aws-sdk/util-dynamodb)但它注册DynamoDB JSON

enter image description here

解决方法

在 v3 中,您必须使用 @aws-sdk/lib-dynamodb 库来获得与旧 SDK 中的 DynamoDB.DocumentClient 类似的功能。它的工作方式略有不同,但应该可以满足您的需求。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。