amazon-web-services - 有没有办法将来自 LEX 的输入记录转换为 lambda,然后允许连接获取该记录并将其设置为联系人属性?
问题描述
我在下面有这个 lambda,它从 DynamoDB 获取项目并返回它以很好地连接......但是,我似乎无法让 inputTranscript 结束。有没有办法在我当前的 lambda 中实现它,以便 Connect 可以访问它?我对此感到非常困惑,因为我在文档中尝试的所有内容都对我不起作用。
const AWS = require("aws-sdk");
const dynamodb = new AWS.DynamoDB();
exports.handler = function(event, context, callback) {
console.log(`DEBUG:\t Event`, JSON.stringify(event, null, 4));
var params = {
Key: {
"name": {
"S": '"' + event.slots.list + '"'
}
},
TableName: 'ServiceOfferings'
};
dynamodb.getItem(params, function(err, data) {
if (err) {
console.log("ERROR:\t", err);
callback(err);
} else {
console.log(data);
if (data.Item) {
console.log('data returned from DynamoDB ', JSON.stringify(data));
callback(null, {
ServiceOffering: data.Item.name.S.slice(1, -1)
});
}
else {
console.log("no callback number found for intent");
callback(new Error("no callback number found for intent"));
}
}
});
};
我用来确保 lambda 正常工作的测试实例如下:
{
"dialog-state": "ReadyForFulfillment",
"input-transcript": "my printer is not working",
"slots": {
"list": "Re-IP Project - Printers"
},
"intent-name": "getServiceOffering"
}
测试后的响应是:
{
"ServiceOffering": "Re-IP Project - Printers"
}
解决方案
当您记录事件时,您应该能够看到inputTranscript
正在传递给您的 Lambda。所以你只需要把它从活动中拿出来,然后做你想做的事。
const AWS = require("aws-sdk");
const dynamodb = new AWS.DynamoDB();
exports.handler = function(event, context, callback) {
console.log(`DEBUG:\t Event`, JSON.stringify(event, null, 4));
var inputTranscript = event.inputTranscript
...
callback(null, {
ServiceOffering: data.Item.name.S.slice(1, -1),
inputTranscript: inputTranscript
});
这包括您对 Connect 的回调中的 inputTranscript(我假设),并且您可以使用 Set Attribute 块来保存和处理 Connect 中的输入。
推荐阅读
- javascript - Firebase 云消息生成错误
- javascript - CSS轮播/幻灯片动画通过数组元素
- angular - 找不到模块'@ionic-native/camera-preview/ngx'
- angular - 为什么需要使用'==='来比较打字稿中的枚举?
- angular - 在预检期间发布未能阻止 CORS 策略,即使我已将其添加到拦截器中,也不会显示“Access-Control-Allow-Origin”标头
- system-verilog - 有没有办法从测试台顶部访问 uvm_phase?
- elasticsearch - 范围查询未按预期工作 [elasticsearch]
- javascript - 实现 Fetch API TestCafe
- sql - 需要用更高效的东西替换 DLookup
- python - 熊猫“DatetimeIndex”没有准确地转换日期时间