AWS Lambda ローカル開発環境を整備する手順 [Serverless Framework 編]
- 2019 1/10
- カテゴリー : Amazon Web Services
- Serverless Framework
- コメントを書く
Serverless Framework で AWS Lambda のローカル開発環境を整備する手順をご紹介します。
ローカル開発環境のための npm 一覧
serverless-offline 利用例
インストール方法
npm install --save-dev serverless-offline |
使い方
serverless.yml
plugins: - serverless-offline functions: test: handler: handler.index events: - http: path: testpath method: get |
上記のようなとき serverless offline start コマンドでプロジェクトを起動できます。
$ serverless offline start Serverless: Starting Offline: undefined/undefined. Serverless: Routes for crawling: Serverless: GET /testpath Serverless: (none) Serverless: Offline listening on http://localhost:3000 |
curl http://localhost:3000/testpath |
のようにアクセスすると handler.index を実行できます。
serverless-offline-scheduler 利用例
インストール方法
npm install --save-dev serverless-offline-scheduler |
使い方
serverless.yml
plugins: - serverless-offline - serverless-offline-scheduler functions: test: handler: handler.index events: - schedule: rate(1 minutes) |
上記のようなとき events:schedule は serverless schedule コマンドで cron 形式で確認できます。
$ serverless schedule Serverless: scheduler: scheduling test/handler with */1 * * * * |
また、serverless offline start コマンドで実行できます。
$ serverless offline start Serverless: scheduler: scheduling test/handler with */1 * * * * Serverless: Starting Offline: undefined/undefined. Serverless: Routes for index: Serverless: (none) Serverless: Offline listening on http://localhost:3000 Serverless: scheduler: running scheduled job: test<ul> { result: 'OK' } |
serverless-dynamodb-local 利用例
インストール方法
npm install --save-dev serverless-dynamodb-local |
使い方
serverless.yml
plugins: - serverless-dynamodb-local - serverless-offline - serverless-offline-scheduler custom: dynamodb: start: port: 8000 |
serverless-offline を利用している場合 serverless offline start コマンドで serverless-dynamodb-local も併せて起動できます。
serverless offline start |
DynamoDB Local だけを起動したい場合 serverless dynamodb start コマンドで起動できます。
$ serverless dynamodb start Dynamodb Local Started, Visit: http://localhost:8000/shell |
http://localhost:8000/shell/ にアクセスすると DynamoDB JavaScript Shell をブラウザから操作できます。
以上、Serverless Framework で AWS Lambda のローカル開発環境を整備したい、現場からお送りしました。
参考情報
- Serverless Framework でのAPI Gateway + Lambda + DynamoDB構成をローカル環境で開発する | Blog | Noop
- Serverless アプリケーションをローカルで開発する – Qiita
- Serverless Framework Terminal Commands