0

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 は常に false になります。何故ですか?

さらに、

NEW_USER': function() {
}

トリガーされません。

ローカル マシンのシステム環境:

  • ウィンドウズ 10 ホーム
  • NodeJS: v8.9.1

ラムダ関数:

  • ノードJS 6.10

あなたが提供できる助けに本当に感謝します。

4

1 に答える 1

1

'NEW_USER'との両方this.user().isNewUser()が、各ユーザーのセッション数が格納されているデータベースにアクセスできる必要があります。

ローカルでプロトタイピングを行う場合、デフォルトのFile Persistenceデータベース統合が使用され、データがローカルdb/db.jsonファイルに保存されます。

ただし、AWS Lambda ではローカル db が機能しないため、DynamoDB の構成をセットアップする必要があります。詳細については、 Jovo Framework Docs > Database Integrations > DynamoDBをご覧ください。

DynamoDB データにアクセスするための適切なアクセス許可を Lambda 関数ロールに付与することを忘れないでください: AWS Lambda アクセス許可モデル.

于 2018-03-29T09:19:02.363 に答える