| command | description |
|---|---|
| layers build <env> [layer] | Build layers. |
| layers deploy <env> [layer] | Deploy layers. |
| functions list | Display all functions. |
| functions build <env> [function] | Build a specific function. |
| functions delete <env> [function] | Delete a specific function. |
| functions deploy <env> [function] | Deploy a specific function. |
| functions invoke <env> <function> | Invoke a specific function. |
| functions publish <env> [function] | Publish function. |
| logs functions <env> [function] | create or update CloudWatch Log Group for Lambda functions. |
| logs subscription <env> [function] | subscribe log handler. |
| api doc <env> [api] | Make APIs document |
| api deploy <env> | Deploy APIs |
| api stage <env> | Apply APIs to stage |
| websockets deploy <env> | Deploy WebSocket APIs |
| websockets stage <env> | Apply WebSocket APIs to stage |
| stepfunctions deploy [name] | Deploy Step Functions |
| stepfunctions invoke | Invoke a specific step function. |
- node.js
- spectacle-docs (optional, node module)
$ npm -g install
インストール後、ターミナルを再起動してください。
$ cap --help
API ドキュメントの作成を行う場合(api docコマンド)、ドキュメント生成ツールが必要です。
$ npm install -g spectacle-docs
プロジェクトは複数の環境にデプロイできます。 環境(prd, stg, dev など)毎に設定ファイルを定義してください。
./conf/project.yaml はプロジェクトの共通設定です。
すべての環境で共通する設定はここに記述してください。
各環境・関数毎の設定は、それぞれの設定ファイルで上書きされます。
./conf/{env_name} ディレクトリを作成します。
project.yaml と functions.yaml を配置してください。
個人の環境に合わせ、 ./conf/{env_name}/_aws.yaml を修正し、 ./conf/{env_name}/aws.yaml として保存します(リポジトリにコミットしないこと)。
環境毎にAWS CLIで定義したプロファイルおよびにAWSアカウントIDを定義します。
---
aws_profile: api-dev
account_id: "9999999999999999"
region: ap-northeast-1
複数のLambda関数で横断的に利用するモジュールは、Lambda レイヤーを利用すると便利です。 各Lambda関数のサイズが小さくなるため、デプロイが高速化されます。
ただし、利用しないモジュールもレイヤーに含まれている場合、コールドスタート時に無駄なコストがかかります。 一部のLambda関数で利用する大きなモジュールは、レイヤーを分割してください。