📖
【初心者向け】AWS LambdaのソースコードをS3のzipファイルからアップロード
はじめに
本ページは個人の勉強で使用することを目的に作成しておりますが、記載の誤り等が含まれる場合がございます。
最新の情報についてはAWS公式ドキュメントをご参照ください。
やること
- Lambda関数のソースコードにS3バケットのzipファイルを指定してアップロードする。
前提条件
- ソースコードの作成はWindowsPC上で実施しています。
- ソースコード保管用のS3バケット
mori-s3-lambda-src
は作成済みとします。
ローカルで”Hello World”を出力するPythonソースコードを作成
- 以下のフォルダを作成します。
lambda-src-test
├─lambda_function.py
└─message.py
lambda_function.py
import json
import message
def lambda_handler(event, context):
msg = message.hello()
return {
'statusCode':200,
'body':json.dumps(msg)
}
message.py
def hello():
return "Hello world"
- PowerShellでフォルダをzip化します。
-
lambda-src-test.zip
が作成されました。
> Compress-Archive .\lambda-src-test\* lambda-src-test
-
zipファイル
lambda-src-test.zip
をS3バケットmori-s3-lambda-src
にアップロードします。
-
lambda-src-test.zip
のオブジェクトURLをコピーしておきます。
Lambda関数の作成
-
Lambdaコンソールから関数の作成をクリックします。
-
以下の設定値でLambda関数を作成し関数の作成をクリックします。
- 関数の作成:一から作成
- 基本的な情報
- 関数名:
lambda-src-test
- ランタイム:
Python 3.11
- アーキテクチャ:
x86_64
- 関数名:
- デフォルトの実行ロールの変更
- 実行ロール:
基本的なLambdaアクセス権限で新しいロールを作成
- 実行ロール:
-
コードタブのアップロード元からAmazon S3の場所をクリックします。
-
ポップアップが立ち上がるので、Amazon S3のリンクURL入力欄に手順4で取得したリンクを張り付けて保存をクリックします。
- コードが更新されます。
- Testを実行すると、レスポンスとして"Hello World"が返却されます。
おわりに
手順7で .zipファイルを選択し、直接アップロードする事もできます。
Discussion