首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用AWS DynamoDb DocumentClient将项写入DynamoDB?

如何使用AWS DynamoDb DocumentClient将项写入DynamoDB?
EN

Stack Overflow用户
提问于 2016-08-01 21:39:28
回答 1查看 2.4K关注 0票数 2

我遇到了AWS DynamoDb JS v2.4.9的问题。我想使用DocumentClient类,而不是低级的DynamoDb类,但是它无法工作。

这样做是可行的:

代码语言:javascript
复制
function testPutItem( callback ) {

    var tableName = 'todos';

    var params = {
        TableName: tableName,
        Item: {
            user_id: { S : userId },
            id: { N : msFromEpoch },        // ms from epoch
            title: { S : makeRandomStringWithLength(16) },
            completed: { BOOL: false }
        }
    };

    var dynamodb = new AWS.DynamoDB();
    dynamodb.putItem(params, function(err, data) {
      if (err) console.log(err, err.stack); // an error occurred
      else {
            console.log(data);           // successful response
            if (callback) callback(data);
        }
    });
}

这不起作用,并为每个属性提供了错误InvalidParameterType: Expected params.Item[attribute] to be a structure --就好像DocumentClient期望得到与DynamoDb相同的输入一样:

代码语言:javascript
复制
function testPutItem( callback ) {

    var tableName = 'todos';

    var params = {
        TableName: tableName,
        Item: {
            user_id: userId,
            id: msFromEpoch,
            title: makeRandomStringWithLength(16),
            completed: false
        }
    };
    console.log(params);

    var docClient = new AWS.DynamoDB.DocumentClient({region: 'us-east-1'});
    docClient.put(params, function(err, data) {
      if (err) console.log(err, err.stack); // an error occurred
      else {
            console.log(data);           // successful response
            if (callback) callback(data);
        }
    });
}

有人知道我做错了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2018-04-15 09:17:55

我以前也有同样的问题,

请先尝试使用一个简单的对象,因为它是由于属性中的一些特殊字符造成的,请参见我的示例:

这会产生错误。

InvalidParameterType:期望params.Itemattribute是一个结构

代码语言:javascript
复制
 var Item = {
  domain: "knewtone.com",
  categorie: "<some HTML Object stuff>",
  title: "<some HTML stuff>",
  html: "<some HTML stuff>""
};

但是,当我用格式化的Html (简单字符)替换HTML内容时,它可以工作。

代码语言:javascript
复制
var Item = {
  domain: "knewtone.com",
  categorie: $(categorie).html(),
  title: $(title).html(),
  html: $(html).html()
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38708555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档