これは、未定義の変数で application という名前のプロパティを使用しようとしていることを示す JavaScript エラーのようです。
JavaScript は、使用しているがまだ設定されていない変数に値「未定義」を割り当てます。
Lambda の問題をデバッグする方法はいくつかあります。おそらく、最も簡単なのはログを確認することです。これをする:
- Lambda コンソール (コードを Lambda にアップロードする場所) に移動します。
- [モニタリング] タブを選択します
- 「CloudWatch でログを表示」(右上) を選択します。
最新のログを確認し、ファイルの 1 つ (通常は index.js) で報告されたエラー、具体的には行番号を探します。これは、エラーを見つけるのに役立ちます。
タイム スタンプは GMT になるため、実際の時間とはおそらく一致しないことに注意してください。複数のエントリがある場合、これは混乱を招く可能性があります。ただし、分は一致するはずであり、正しいログ エントリを見ていることを確認するのに役立ちます。
Lambda の問題をデバッグするためのより高度で迅速な方法は、「テスト」リクエストを含め、Lambda にコードをアップロードするたびにこれを実行することです。
これを設定するには:
- 「サービス シミュレーター」セクションの ASK テスト ページで、定義した発話の 1 つを実行します。
- その下に表示されているコードを「Lambda リクエスト」セクションにコピーします。
- 次に、Lambda 関数の Lambda コンソールに切り替えます
- [アクション] ボタンの下向き矢印をクリックし、[テスト イベントの構成] を選択します。
- 上記でコピーしたリクエストをテキスト フィールドに貼り付けます
- [保存してテスト] をクリックします。
新しいコードを Lambda にアップロードするたびに、[テスト] を選択すると、保存したばかりのリクエストが実行されます。
何よりも、コンソール ログが右下隅に表示されるため、ログに切り替えて更新する必要がなくなります。