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

JovoFramework - LAUNCH - isNewUser() is always false on 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 上将它作为 lambda 函数执行,isNewUser 总是 false。这是为什么?

另外

NEW_USER': function() {
}

也没有触发。

本地机器上的系统环境:

Lambda 函数:

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

'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.