serverless で lambda をデプロイしてみる
参考
認証
awscli を使って認証する。
pip install awscli
aws --version
aws configure
インストール
インストールする。
npm install -g serverless
確認する。
sls -v
Framework Core: 3.30.1
Plugin: 6.2.3
SDK: 4.3.2
プロジェクト作成
プロジェクトを作成する。
ここでは project-hoge と言うプロジェクトを作成してみる。
sls create --template aws-python3 -p project-hoge
プロジェクトに移動する。
cd projet-hoge
階層は次のような感じ。
.
└── project-hoge
├── .gitignore
├── handler.py
└── serverless.yml
ファイル
handler.py
import json
def hello(event, context):
body = {
"message": "Go Serverless v1.0! Your function executed successfully!",
"input": event
}
response = {
"statusCode": 200,
"body": json.dumps(body)
}
return response
serverless.yml
service: project-hoge
frameworkVersion: "3"
provider:
name: aws
runtime: python3.9
functions:
hello:
handler: handler.hello
実行
ファンクションの hello を実行する。
sls invoke local --function hello
結果が表示される。
{
"statusCode": 200,
"body": "{\"message\": \"Go Serverless v1.0! Your function executed successfully!\", \"input\": {}}"
}
引数の event に hogehoge を渡して実行する。
sls invoke local --function hello --data "hogehoge"
結果が表示される。
{
"statusCode": 200,
"body": "{\"message\": \"Go Serverless v1.0! Your function executed successfully!\", \"input\": \"hogehoge\"}"
}
デプロイ
デプロイコマンド sls deploy を実行してみる。
sls deploy
Deploying project-hoge to stage dev (us-east-1)
✔ Service deployed to stack project-hoge-dev (131s)
functions:
hello: project-hoge-dev-hello (872 B)
Need a better logging experience than CloudWatch? Try our Dev Mode in console: run "serverless --console"
デフォルトだとリージョンが「バージニア北部」らしい。
serverless.yml で変更出来るとの事。
Lambda 確認
画像の通り Lambda が出来ているのが確認できました。
ディスカッション
コメント一覧
まだ、コメントがありません