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() {
}
也没有触发。
本地机器上的系统环境:
- Windows 10 家
- NodeJS:v8.9.1
Lambda 函数:
- 节点 6.10
非常感谢您提供的任何帮助。
'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.
我正在使用 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() {
}
也没有触发。
本地机器上的系统环境:
- Windows 10 家
- NodeJS:v8.9.1
Lambda 函数:
- 节点 6.10
非常感谢您提供的任何帮助。
'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.