小编Con*_*ald的帖子

DynamoDb“MissingRequiredParameter”和“意外密钥“M””

我很困惑为什么我会收到错误。似乎它只是忽略了我传入的项目。我已经尝试了下面的各种组合以及许多其他组合。尝试了 get、delete、put 方法等,但没有成功。

当然,尝试根据方法更改“项目”和“密钥”。不知道出了什么问题。主分区键是“uid”

'table' 是一个带有表名的变量

let params = {
    TableName:{"S":table},
    Item:{
        uid: "2"
    }
};
Run Code Online (Sandbox Code Playgroud)
let params = {
    TableName: table,
    Item:{
        uid: "2"
    }
};
Run Code Online (Sandbox Code Playgroud)

docClient.query(params, function(err, data) {

这是完整的错误。我认为“M”指的是一个对象,所以不确定为什么它也会出现。

“有 2 个验证错误:* MissingRequiredParameter:>params 中缺少必需的键“TableName”* UnexpectedParameter:在 params 中找到意外的键“M””,“code”:“MultipleValidationErrors”,>“errors”:{“message”: "参数中缺少必需的键 'TableName'","code":"MissingRequiredParameter",time": "2020-05-09T21:51:14.530Z"}, {message": "在参数中发现意外的键 'M'" , "code": "UnexpectedParameter", "time": "2020-05-09T21:51:14.530Z"} ],"time": "2020-05-09T21:51:14.530Z"\"}"

这是 lambda 函数

var AWS = require("aws-sdk");
const docClient = new AWS.DynamoDB.DocumentClient('us-east-1');

exports.handler = async event => {
    var tables = ['holdings','trades','userDetails'];
    var table = 'userDetails'//tables[2]
    var …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-dynamodb dynamodb-queries

5
推荐指数
1
解决办法
8236
查看次数