Вы захотите использовать requestAttributes
или sessionAttributes
для передачи информации, такой как идентификатор учетной записи, вашему боту с начальным вводом.
Затем ваш бот может получить их из event.requestAttributes
или event.sessionAttributes
Ссылки: Lex-Lambda Input Event and Response Format
sessionAttributes - Специфичные для приложения c атрибуты сеанса, которые клиент отправляет в запросе. Если вы хотите, чтобы Amazon Lex включил их в ответ клиенту, ваша функция Lambda должна отправить их обратно в Amazon Lex в ответе. Для получения дополнительной информации см. Настройка атрибутов сеанса
requestAttributes - атрибуты c, определяемые запросом, которые клиент отправляет в запросе. Используйте атрибуты запроса для передачи информации, которая не должна сохраняться в течение всего сеанса. Если атрибутов запроса нет, значение будет нулевым. Для получения дополнительной информации см. Настройка атрибутов запроса
Дополнительная информация
Вы захотите самостоятельно обработать передачу userInput вашему боту Lex, чтобы включить данные requestAttributes
. Для этого вам нужно будет использовать PostContent (ввод текста или звука) или PostText (только ввод текста) для отправки данных вашему боту Lex.
Ваш Бот Lex интерпретирует ввод и передает requestAttributes
в вашу лямбда-функцию, где вы можете обрабатывать logi c на основе идентификатора учетной записи.
Отправка данных ввода пользователя как объекта JSON через PostText :
POST /bot/botName/alias/botAlias/user/userId/text HTTP/1.1
Content-type: application/json
{
"inputText": "Hello Bot",
"requestAttributes": {
"accountID" : "xxxxxxxx"
},
"sessionAttributes": {
"name" : "John Smith"
}
}
Чтобы узнать, что Lex передаст вашей лямбда-функции и как получить оттуда requestAttributes
, см. Этот вопрос, где я ответил более подробно: AWS Lex Python Ссылки на Codehook