javascript - 为了从 Dynamo 和 Lex 接收正确的数据,我应该在此代码中添加/删除什么?
问题描述
我编写了一个 lambda 函数,用于接收来自 Amazon Lex 的数据,当触发该函数时,它将转到我拥有的 DynamoDB,并将查询表以获取通过 Lex 提供的信息。但是,目前我无法让查询工作,因为它没有显示我正在寻找的结果。如何获取通过 lex 收集的信息,并将他们所说的内容与 Dynamo 中的某些信息相匹配?(dynamodb 列出了 400 多个可供他们选择的项目,其中很多是相似的)
我尝试了扫描,但这并不能满足我的需要。它不会给出测试参数中给出的正确数据。
'use strict';
const aws = require('aws-sdk');
const dynamo = new aws.DynamoDB();
module.exports.handler = function(intentRequest, context, callback) {
console.log(intentRequest);
dynamo.query({
TableName:'ServiceOfferings',
KeyConditionExpression: '#name = :searchName',
ExpressionAttributeNames: {
"#name": "name",
},
ExpressionAttributeValues: {
":searchName":{"S":"PCC"} //PCC is an example of what i need searched through lex. That value needs to be dynamic.
}
},(err, data)=>{
console.log(data);
callback(err, data);
});
};
这是我从测试参数收到的响应:
Response:
{
"Items": [],
"Count": 0,
"ScannedCount": 0
}
Request ID:
"ca1d95ce-161e-487d-8ca5-db80d5799724"
Function Logs:
START RequestId: ca1d95ce-161e-487d-8ca5-db80d5799724 Version: $LATEST
2019-10-03T14:59:00.139Z ca1d95ce-161e-487d-8ca5-db80d5799724 INFO { 'dialog-state': 'ReadyForFulfillment',
'input-transcript': 'PCC',
slots: { list: 'PCC' },
'intent-name': 'getServiceOffering' }
2019-10-03T14:59:00.899Z ca1d95ce-161e-487d-8ca5-db80d5799724 INFO { Items: [], Count: 0, ScannedCount: 0 }
END RequestId: ca1d95ce-161e-487d-8ca5-db80d5799724
REPORT RequestId: ca1d95ce-161e-487d-8ca5-db80d5799724 Duration: 1034.16 ms Billed Duration: 1100 ms Memory Size: 128 MB Max Memory Used: 92 MB Init Duration: 414.90 ms
解决方案
替换":searchName":{"S":"PCC"}
为":searchName":"\"PCC\""
(考虑哈希键的引号)
您还应该修复散列键 btw 上的数据条目,将 ExpressionAttributeValues 留给":searchName":"PCC"
推荐阅读
- reactjs - 使用 react-hook-form 进行表单模式验证
- angular - 如何正确管理 Angular mat 滑动切换的“切换”状态?
- android - 您可以为 android 应用程序编写完全自定义的应用程序,还是必须看起来像材料设计?
- vue.js - Vuex路由器推送参数不起作用
- recursion - BST 中的第 K 个最大元素
- javascript - 如何从 URL 获取内容链接,然后获取获取链接的单个 div 的内容?
- wordpress - 无法通过在 Wordpress 中从前端提交自定义帖子来上传图片
- python - numpy/ndarrayobject.h:没有这样的文件或目录
- php - 该脚本无法获取外部站点的 html 代码。卷曲 PHP
- sql-server - 在 Python 中,如何构造一个 URL 来测试我的 SQL Server 实例是否正在运行?