今回は、AWSのLambdaサービス入門者向け、ローカルでいろいろ検証したい方向け、にそれっぽい環境を立ち上げることができるリポジトリを作ってきました。
対象
- 入門者(初学者)
- 知識の理解とかいいから、取り急ぎでローカル環境を作りたい人
※ 記事内で利用する各サービスについての紹介は省かせていただきます。
※ 取り急ぎ環境を立てたい人向けの記事です。
この記事を読めばなにができるの?
「LocalでLambdaが動作する環境」をすぐ立ち上げることが可能
ゴール
ブラウザアクセス(CLIアクセス)して、JSONが返ってくるところまで。
手順
この記事を読むのすらもめんどくさい人向けに、3ステップで終わる手順書を別で用意してます。
そんなめんどくさがり屋なあなたにはこちら。
001. SAM CLI のインストール
AWS SAM CLIをインストールします。
Macの場合
brew tap aws/tap
brew install aws-sam-cli
その他のOSのインストール方法は公式ドキュメントを参照してください。
002. 初期設定
以下のコマンドで、関数の設定、ランタイムの設定等ができます。
sam init
もちろん手動で Yamlファイルを作成することも可能です。
記事内で init
コマンドの詳細は説明しません。
私は以下のようにテンプレートファイルを作りました。
AWSTemplateFormatVersion: "2010-09-09"
Transform: AWS::Serverless-2016-10-31
Description: >
SAM Local Sandbox
Template for "SAM Local Sandbox"
Globals:
Function:
Timeout: 3
LoggingConfig:
LogFormat: JSON
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: app/
Handler: app.handler
Runtime: nodejs20.x
Architectures:
- x86_64
Events:
HelloWorld:
Type: Api
Properties:
Path: /hello
Method: get
簡単に説明すると。
/hello
にアクセスしたら、app
ディレクトリ内の、app.cjs
内の handler
関数が呼び出せるよ。
って感じ。
003. JS関数の用意(サンプル)
export const lambdaHandler = async (event) => {
return {
statusCode: 200,
body: JSON.stringify({ message: "Hello World!" }),
};
};
004. 動作確認
以下のコマンドでローカル環境を起動します。
sam build && sam local start-api
ローカルのAPI Gatewayが立ち上がり、アクセス可能になります。
ブラウザまたはCLIで以下にアクセスしてください。
http://{ローカルのホスト}/hello
期待されるレスポンス
{
"message": "Hello World!"
}
まとめ
ローカル環境でLambdaを動作させる基本的なセットアップが完了しました。
初学者の方にとって、理解が深まるような教材となっていれば幸いです。
質問やフィードバックがあれば、リポジトリのIssues、本記事のコメント等お待ちしております。