JovoFramework - LAUNCH - 在AWS Lambda上isNewUser()始终为false

时间:2018-03-29 08:59:55

标签: aws-lambda jovo-framework

我正在使用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上执行它作为lambda函数isNewUser总是假的。那是为什么?

另外

NEW_USER': function() {
}

也未被触发。

本地计算机上的系统环境:

  • Windows 10 Home
  • NodeJS:v8.9.1

Lambda函数:

  • NodeJS 6.10

我非常感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

'NEW_USER'this.user().isNewUser()都需要访问数据库,其中为每个用户存储会话数。

当您在本地进行原型设计时,它会使用默认的File Persistence数据库集成,将数据保存到本地db/db.json文件。

但是,在AWS Lambda上,本地数据库不起作用,因此您需要设置DynamoDB配置。点击此处了解详情:Jovo Framework Docs > Database Integrations > DynamoDB

请记住为Lambda函数角色授予访问DynamoDB数据的正确权限:AWS Lambda Permissions Model