質問: https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/with-on-demand-https-example-configure-event-source_1.html をみながら以下の手順で作成 ``` 設計図を使用 microservice-http-endpoint の使用 次の画面にいって 関数名 authorize_test 実行ロール:既存のロールを使用 既存のロール : すでに動いている lambda-role というのがあったので選択 API Gateway トリガー 新規API作成 セキュリティ:オープン 追加設定はデフォルト デプロイされるステージ default になっててここがよくわからないけどとりあえずそのまま これってステージングとプロダクションで同じ Lambda を使い回せるんでしょうか? メトリクスエラーログ有効化OFF バイナリメディアタイプ空欄 Lambda 関数コード 「関数の作成後にコードを設定できます」とあったので ランタイム Node.js 8.10 とデフォルトコードのまま関数作成 これで、 Lambda 関数「authorize_test」が正常に作成され、authorize_test-API がトリガーとして設定されました。[テスト] を選択してテストイベントを入力し、関数をテストします。 となってブロック図の画面が表示されて正常作成されたようです ``` API Gateway を選択するとエンドポイントが表示されるのでブラウザでたたいてみたところ {"message": "Internal server error"} となってしまいます Lambda のデフォルトコードの最初に console.log('Loading function'); とかかれているのですがこれはどこに表示されるのでしょうか ここにたどりついていて以降のコードが悪いのか、 設定が悪くてコードの中にたどりついてないのか、 またどうやって調べればいいかもわかりません いろいろブログを探してもすぐできるとか簡単にできるとか10分でできるとか成功例だけがかかれていて 今回の場合エラーメッセージで検索しても意味がないので デバッグの仕方やトラブルの対処的なブログがなくて困っています 原因のわかる方助けていただけないでしょうか あるいはトラブルシューティング的な初心者用ブログ記事を紹介していただけると助かります
回答: >Lambda のデフォルトコードの最初に console.log('Loading function'); とかかれているのですがこれはどこに表示されるのでしょうか https://qiita.com/keitakn/items/02fcee5bbb037bbd2e41 これぐらいは調べれば出てくると思います ただ症状的に API Gateway 側が怪しいですが 本当にLambdaと正しいAPI リソース ステージ メソッドがトリガーされてるか パラメータを渡してる場合はパラメータのマッピングでLambdaにJSON型が渡っているか Lambda側のハンドラメソッド名が正しいかもう1度確認してみてください あとデプロイはしてますか?