【发布时间】:2020-02-08 13:33:14
【问题描述】:
我正在尝试从表格中获取特定项目。
我的 DynamoDB 表名是 table,我有:
Name PK | Number<br/>
S: Juan | S: #####
当我尝试在 Lambda 中运行时,当它确实存在一个具有该名称的项目时,我没有得到任何项目......知道为什么会这样吗?
AWS = require("aws-sdk"),
DDB = new AWS.DynamoDB({
region: "REGION",
}),
lookup_name_str = name //From Intent variable,
params = {
TableName: "table",
KeyConditionExpression: "name = :v1",
ExpressionAttributeValues: {
":v1":{
"S": lookup_name_str
}
},
FilterExpression: 'contains(nomColaborador,:v1)',
ProjectionExpression: "Number"
};
console.log(params);
var docClient = new AWS.DynamoDB.DocumentClient();
docClient.scan(params, function(err, data){
if(err){
throw err;
}
if(data.Items && data.Items[0] && data.Items[0].Number){
console.log("There is a Name with that number");
console.log(data.Items[0]);
my_response.statusCode = 200;
my_response.body = {
"sessionAttributes": {
"extension_str": data.Items[0].Number.S,
"nomColaborador": event.currentIntent.slots.Name
},
"dialogAction":{
"type": "Close",
"fulfillmentState": "Fulfilled",
"message": {
"contentType": "PlainText",
"content": data.Items[0].Number.S
}
}
};
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-dynamodb amazon-lex dynamodb-queries