VS Code で AWS Lambda のローカルデバッグを行う方法
この記事はSRA Advent Calendar 2019の12月4日の記事です。
こんにちは、2019年入社の産業第2事業部の羽田です。
初のQiita投稿です。
VScodeを使用したAWS Lambdaのローカルデバッグは
記事がほかにもありますが、
個人的に詰まったところがあったので作成しました。
はじめに
-
AWS Lambda をローカル環境(VScode)でデバッグ操作ができるようにします。
- ブレークポイント設定、ステップ実行など
-
以下公式
AWS Toolkit for Visual Studio Code は、Visual Studio Code 用のオープンソースプラグインで、アマゾン ウェブ サービス上でのアプリケーションの作成、デバッグ、デプロイを容易にします。AWS Toolkit for Visual Studio Code を使用すると、AWS 上での Visual Studio Code を使用したアプリケーションの構築をより迅速に開始でき、生産性が向上します。このツールキットは、使用開始のサポート、ステップ実行によるデバッグ、および IDE からのデプロイを含む、サーバーレスアプリケーションの統合開発環境を提供します。
必須
- AWS アカウント
- 使用するサービスに対する権限を持つ
- Lambda,S3とか
- Toolkit fot VScode
- Windows,macOS.linux をサポートしている
- VScode のバージョン 1.31.1 以上
使用可能言語
- 以下三種の言語を使用可能
- .NET SDK: https://dotnet.microsoft.com/download
- Node.js SDK: https://nodejs.org/en/download
- 今回はこれを選択
- Python SDK: https://www.python.org/downloads
オプション(実質必須)
- AWS SAM CLI
- 無くても toolkit はインストールできるが、サーバレスアプリケーションには必須
- Docker
- AWS SAM CLI に OSS コンテナプラットフォームが必要
- 詳細は下記のダウンロードの説明に
AWS SAM CLI と Docker のインストール方法(windows)
-
公式ドキュメントに従ってAWS SAM CLI と Dockerのインストールを行う
-
以下参照 (公式ドキュメント)
https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/serverless-sam-cli-install-windows.html
AWS Toolkit for VScode インストール
- vscode エディタを開く
- アクティヴィティバー>拡張機能>マーケットを開く
- AWS Toolkit for VScode で検索
- インストールし、エディタを再起動
VScode の configure
- VScode から AWS のリソースにアクセスできるように Credential を流し込む
- コマンドパレットを開く
- windows>Ctrl + Shift + P
- AWS で検索
- AWS:Create Credentials Profile を選択
- name,ID,PassWord を入力
アプリケーションをデバッグするまでのステップ
-
コマンドパレットを開く
- AWS で検索
-
AWS: Create new AWS SAM Application を選択
-
Node10.x を選択
-
保存先のローカルフォルダとアプリケーション名を入力
-
ローカルにアプリケーションが作成されているので選択
- フォルダ内の app.js を開く
-
lambda を編集
- 以下黄色枠はデフォルトで書かれているもの
- ここを消して Lambda 関数を書く
-
17 行目あたりにRun Locally|Debug Loccally|Condigure
-
Run Locally を選択
- ローカルで lambda の実行ができる
-
Debug Locally を選択
- ローカルでデバッグできる
補足
-
ローカルで作成し、AWS上にデプロイできます。
-
デプロイ用のS3バケットを用意する必要があります。
-
以下公式ドキュメント
数回のクリックでサーバーレスアプリケーションをデプロイします。
参考
- AWS Toolkit for Visual Studio Code (開発者向けプレビュー版) が マーケットプレイスからインストールできるようになったので、もう、コンパイルしなくてもレビューできます〜\(^o^)/