【问题标题】:Insert Standard JSON into DynamoDB aws-sdk js v3将标准 JSON 插入 DynamoDB aws-sdk js v3
【发布时间】:2021-07-09 21:51:48
【问题描述】:

我正在尝试在 thumbnail 字段中使用aws-sdk version 3 for JSDynamoDB 中注册Standard JSON

在版本 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

【问题讨论】:

    标签: json amazon-dynamodb aws-sdk-js-v3


    【解决方案1】:

    在 v3 中,您必须使用 @aws-sdk/lib-dynamodb 库才能获得与旧 SDK 中的 DynamoDB.DocumentClient 类似的功能。它的工作方式有点不同,但它应该做你想做的事。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-10
      • 1970-01-01
      • 2021-06-07
      相关资源
      最近更新 更多