Вы не сможете вызвать второй ответ от лямбда-пост-Lex, то есть лямбда-функция, которая идет после Lex. Вам потребуется лямбда-функция «pre-Lex», которая передает пользовательский ввод в Lex и возвращает ответы Lex обратно пользователю.
Это базовая настройка бота Lex:
Но вам нужно настроить его так:
На самом деле это не обязательно должна быть лямбда-функция между пользователем и Lex, но в любом случае ему нужно будет использовать Lex Runtime Service API с PostContent или PostText для передачи userInput
в Lex.
Вот блог Amazon, посвященный тому, как они использовали Lambda таким образом, в так называемом «слое предварительной обработки» между каналом и Lex: Интеграция вашего Amazon Lex Bot с любой службой обмена сообщениями
Вы увидите, что они также используют AWS API Gateway для создания конечной точки HTTPS для подключения канала пользователя к этой лямбде "предварительной обработки".
После настройки любого типа слоя «предварительной обработки», вы можете обойти ограничения Lex по ответам, и вам останется только беспокоиться об ограничениях канала.
Дружественное предупреждение: Я полагаю, что Amazon установил эти ограничения в Lex, чтобы отговорить разработчиков чат-ботов от рассылок спама, и когда вы говорите "я отправляю ответ через каждые 5 минут пользователю ", это определенно звучит как спам. Так что будьте осторожны с этим.