我正在使用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() {
}
也未被触发。
本地计算机上的系统环境:
Lambda函数:
我非常感谢您提供的任何帮助。
答案 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。