我在Amazon Lex bot中创建了自定义插槽类型。现在我需要为该插槽类型添加一些验证。我需要在lambda函数中做到这一点。我正在使用NodeJS for Lambda。有没有办法在lambda函数中获取自定义槽类型值。我提到了蓝图功能(OrderFlowers,BookAppointment)。但是他们没有在lambda中获取槽类型值。
谢谢, 内甚
答案 0 :(得分:0)
从Lex进入Lambda的事件看起来就像下面的JSON对象。该示例适用于名为“TimerTest”的机器人。匹配的意图称为“MATCHED_INTENT_NAME”。该插槽称为“名称”。如果要对名为“Name”的插槽运行验证,可以在Lambda中将插槽值引用为event.currentIntent.slots.Name
以运行验证代码。
{
"messageVersion": "1.0",
"invocationSource": "FulfillmentCodeHook",
"userId": "UNIQUE_USER_ID",
"sessionAttributes": {},
"requestAttributes": null,
"bot": {
"name": "TimerTest",
"alias": "$LATEST",
"version": "$LATEST"
},
"outputDialogMode": "Text",
"currentIntent": {
"name": "MATCHED_INTENT_NAME",
"slots": {
"Name": "test"
},
"slotDetails": {
"Name": {
"resolutions": [],
"originalValue": "test"
}
},
"confirmationStatus": "None"
},
"inputTranscript": "test"
}
可在此处找到更多信息:https://docs.aws.amazon.com/lex/latest/dg/lambda-input-response-format.html
希望这有帮助。