はじめに
AWSのS3バケットにファイルをアップロードすることをトリガーにしてLambda関数を実行する方法について勉強したので備忘録も兼ねて本記事にまとめています。本記事では、S3バケットとLambda関数の設定手順、およびトリガーの設定方法を記載する。
環境
python 3.12
S3側の準備
Lambdaから指定するバケットを作成します。
- Amazon S3 > バケット > バケットを作成 を選択。
- 任意のバケット名を入力し、右下のバケットを作成をクリック。(本記事ではバケット名を
test-lambda-trigger1
とします。)
Lambda側の準備
関数の作成
- Lambda > 関数 > 関数の作成 から新規でLambdaを作成します。
- 任意の関数名を入力し、右下の関数の作成をクリック。(本記事では関数名を
test-s3-lambda
とします。)
トリガーの設定
- 設定タブ > トリガー > トリガーの追加から選択。
2. 先ほど作成したバケット名(test-lambda-trigger1
)と入力し再帰呼び出し
の項目にチェックを入れ右下の追加
ボタンをクリック。
S3のバケット内にフォルダを作成している場合は、任意のフォルダパスをプレフィックス
に記載する。
ソース
lambda_function.py
def lambda_handler(event, context):
print('Hello Lambda')
return
実行 & 結果確認
任意のファイルをS3にアップロードし、Lambdaが実行されたか動作を確認する。
バケットにファイルをアップロード後、CloudWatchのログを確認すると、Hello Lambdaのログが出ていることが確認できました。