gpt4 book ai didi

javascript - DynamoDB 查询错误 : Multiple Validation Error

转载 作者:行者123 更新时间:2023-11-27 23:10:01 26 4
gpt4 key购买 nike

嗨,我真的不知道如何解决这个问题。在 Lambda 中测试时,我不断收到多个验证错误。我四处搜寻,有人说要更新到最新的 SDK,我也这样做了,但仍然收到相同的错误。我尝试在 new AWS.DynamoDB.DocumentClient(); 中使用其他 api但这只是在我的日志中返回未定义。如何获取我的代码以从 DynamoDB 进行查询?

'use strict';

var APP_ID = "amzn1.echo-sdk-ams.app.ca7e2a16-1bf9-4b5b-8a7e-8c15fb0ccd9d";


var AlexaSkill = require('./AlexaSkill');



var SatTracker = function () {
AlexaSkill.call(this, APP_ID);
};
var AWS = require('aws-sdk');
AWS.config.update({region: 'us-east-1'});
var doc = require("dynamodb-doc");

var dynamodb = new AWS.DynamoDB.DocumentClient();

function getZipcode(zipcode) {

var queryParams = {
TableName : "ZipcodeUSA",
KeyConditionExpression: "#zc = :zip",
ExpressionAttributeNames:{
"#zc": "zipcode"
},
ExpressionAttributeValues:{
":zip":zipcode
}
};
console.log("about to start dynamoDB query with zipcode: " + zipcode);
dynamodb.query(queryParams, function(err, data) {
if (err) {
console.log("error in dynamo.query of getZipcode funtion: " + err);
} else {
var zipData;
console.log("starting dynamoDB query with zipcode: " + zipcode);
if (data && data.Items && data.Items.length > 0) {
console.log("Found " + data.Items.length + " matching zipcode");
if (data.Items.length === 1) {
zipData = data.Items[0];
return zipData;
}
}


}
console.log("completed dynamo.query with zipcode: " + err);
});
}

最佳答案

确保传递给 ExpressionAttributeValues 的邮政编码实际上是一个对象。假设邮政编码是一个字符串,它应该如下所示:

var queryParams = {
TableName : "ZipcodeUSA",
KeyConditionExpression: "#zc = :zip",
ExpressionAttributeNames:{
"#zc": "zipcode"
},
ExpressionAttributeValues:{
":zip": { "S" : zipcode } // S if your zip code is a String N if its a number
}
};

希望这有帮助

关于javascript - DynamoDB 查询错误 : Multiple Validation Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36275458/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com