【发布时间】:2020-05-28 01:11:11
【问题描述】:
使用 AWS lex 的验证钩子。如果我尝试引出插槽,则 lex 失败并显示:
发生错误:无效的 Lambda 响应:针对无效插槽名称引发的 Lambda 响应
下面是我的 lex 事件和来自我的 lambda 函数的响应。我有 2 个插槽,顶部和外壳。 Topping 是客户已经给出的第一个位置。地壳是缺少的插槽。
我已经查看了大部分 AWS 文档、stackoverflow 和其他教程,但我似乎无法超越这一点。任何人有任何想法吗?
LexEvent:
{
"messageVersion": "1.0",
"invocationSource": "DialogCodeHook",
"userId": "cbzn2ql6dl59dro",
"sessionAttributes": {},
"outputDialogMode": "Text",
"currentIntent": {
"name": "Pizza",
"slots": {
"topping": "Chicken"
},
"confirmationStatus": "None"
},
"bot": {
"name": "PizzaMaker",
"alias": "$LATEST",
"version": "$LATEST"
}
}
来自 Lambda 的响应
{
"sessionAttributes": {},
"dialogAction": {
"type": "ElicitSlot",
"message": {
"contentType": "PlainText",
"content": "What type of crust do you want?"
},
"intentName": "Pizza",
"slotToElicit": "Curst",
"slots": {
"topping": "Chicken"
}
}
}
【问题讨论】:
-
忘记添加了,我验证了插槽名称在 lex 和 lambda 中匹配(大小写也一样)。插槽配置为 1 个提示和 1 个带选项的响应卡。没有插槽混淆
标签: amazon-web-services aws-lambda aws-lex