Когда пользователь вводит недопустимое высказывание, AWS Lex не распознает его и возвращает код ошибки «ERR_CONBOT_RETRY». Я хочу записать это вместе с высказыванием.
Ответ от Лекса не включает высказывание. Таким образом, мы не можем взять ввод пользователя из @ message
Выход Lex
{
"dialogState": "ElicitIntent",
"intentName": null,
"message": "ERR_CONBOT_RETRY",
"messageFormat": "PlainText",
"responseCard": null,
"sessionAttributes": {},
"slotToElicit": null,
"slots": null
}
Мой ввод в LEX
{
"botAlias": "demo",
"botName": "Test",
"userId": "4291497024159985",
"inputText": "Score please",
"sessionAttributes": {
"isSpeech": "false",
"languageCode": "en",
"inputChannel": "WEB",
"spanId": "7059150085989143",
"jwtToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiTVhfQVBJX1JFU09VUkNFIl0sInVzZXJfbmFtZSI6IlRhZ2l0Iiwic2NvcGUiOlsiQ0IiXSwiZXhwIjoxNTU4NDE5NzA1LCJ1c2VyIjp7ImNoYW5uZWwiOiJNWFJFU1QiLCJjaGFubm",
"loginresponse": "Authenticated",
"accessToken": "XXXX"
}
}
Теперь, когда я пытаюсь написать запрос для получения неудачных высказываний, я должен объединить оба вышеупомянутых сценария
fields inputText,@message
| parse @message '"inputText": "*"' as @transcript| filter message="ERR_CONBOT_RETRY"
Это всегда возвращает мне пустой inputText, но я ожидаю, что это будет inputTranscript