简体   繁体   English

getItem 时出现 aws DynamoDB 问题

[英]aws DynamoDB issue while getItem

I am trying to get single Item through dynamoDB using Javascript here my code我正在尝试使用 Javascript 通过 dynamoDB 获取单个项目,这是我的代码

var params = {
    TableName: 'sharedata',
    Key: {
        id: _id
    },
    ProjectionExpression: 'ATTRIBUTE_NAME'
    };

ddb.getItem(params, function(err, data) {
    if (err) {
        console.log("Error", err);
    } else {
        console.log("Success", data.Item);
    }
    });

and here my table in dynamoDB.这里是我在 dynamoDB 中的表。

在此处输入图像描述

I am facing error: Expected params.Key['id'] to be a structure.我面临错误:预期 params.Key['id'] 是一个结构。 What I am missing I am trying same as per docs reading writing a single Item in dynamoDB我所缺少的我正在尝试与阅读在 dynamoDB 中编写单个项目的文档相同

The error错误

error: Expected params.Key['id'] to be a structure

is indicating that key is not formed correctly in the request.表示请求中的密钥格式不正确。 From the docs :文档

var params = {
  TableName: 'TABLE',
  Key: {
    'KEY_NAME': {N: '001'}
  },
  ProjectionExpression: 'ATTRIBUTE_NAME'
};

Try this out:试试这个:

var params = {
    TableName: 'sharedata',
    Key: {
        id: {S: _id}
    },
    ProjectionExpression: 'ATTRIBUTE_NAME'
    };

The Object to be formatted in a AttributeValue representation. Object 以 AttributeValue 表示形式格式化。 That means you would have to change this这意味着你必须改变这个

var params = {
    TableName: 'sharedata',
    Key: {
        id: {S:_id}
    },
    ProjectionExpression: 'ATTRIBUTE_NAME'
 };

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM