JovoFramework - LAUNCH - isNewUser() всегда ложно на AWS Lambda
Я использую фреймворк jovo (версия 1.0.0) и столкнулся со следующей проблемой:
В app.js:
app.setHandler({
'LAUNCH': function() {
if(this.user().isNewUser()) {
this.tell('This will never be told on AWS Lambda.');
}
}
});
Работая локально, я могу различить (isNewUser === true) и (isNewUser === false), но как только я выполняю его как лямбда-функцию в AWS, isNewUser всегда ложно. Это почему?
и дополнительно
NEW_USER': function() {
}
Также не срабатывает.
Системная среда на локальной машине:
- Windows 10 Home
- NodeJS: v8.9.1
Лямбда-функция:
- NodeJS 6.10
Я действительно ценю любую помощь, которую вы можете оказать.
1 ответ
И то и другое 'NEW_USER'
а также this.user().isNewUser()
необходимо иметь доступ к базе данных, где хранится количество сеансов для каждого пользователя.
Когда вы создаете прототипы локально, он использует интеграцию с базой данных File Persistence по умолчанию, которая сохраняет данные в локальном db/db.json
файл.
Однако в AWS Lambda локальная база данных не работает, поэтому вам необходимо настроить конфигурацию DynamoDB. Узнайте больше здесь: Документы Jovo Framework> Интеграция баз данных> DynamoDB.
Не забудьте дать вашей роли функции Lambda право доступа к данным DynamoDB: модель разрешений AWS Lambda.