
はじめに
こんにちは、株式会社エーピーコミュニケーションズの西村です。
今回はS3にファイルを置くとLambdaが動くシンプルな構成を作成しました。
目次
構成図

手順
1.Lambda関数を作成する。
基本的な情報には以下の値を入力する。
- オプション:
一から作成 - 関数名:
<任意> - ランタイム:
Python3.12 - アーキテクチャ:
x86_64

コードソースにコードを張り付けdeployをクリックする。

※サンプルコード
def lambda_handler(event, context):
# 1. 届いたデータの中から「バケット名(フォルダ名)」を取り出す
bucket = event['detail']['bucket']['name']
# 2. 届いたデータの中から「ファイル名」を取り出す
file_name = event['detail']['object']['key']
# 3. 画面(ログ)に「〇〇というバケットに、△△というファイルが届いたよ!」と表示する
print(f"S3にファイルが届きました!")
print(f"場所:{bucket}")
print(f"名前:{file_name}")
# 4. 最後に「無事に終わったよ」という合図を送る
return "完了!"
2.S3バケットを作成する
一般的な設定には以下の値を入力する。
- バケットタイプ:
汎用 - バケット名:
任意

プロパティをクリックする。

Amazon Event Bridgeセクションで編集をクリックする。

Amazon Event Bridgeの通知の送信をonにする。

3.EventBridgeを作成する
トリガーイベントにS3のObject Createdを設定する。
※bucketnameは作成したS3バケット名を設定してください。
ターゲットにLamda関数を設定する。

作成をクリックすると画面が表示されるため任意のRule nameを入力して作成する。

4.テストを実施する
S3にテスト用のファイルをアップロードする。

LamdaのモニタリングからCloudwatchログを表示をクリックする。

対象のログストリームをクリックする。

Lamda関数に設定した内容がログから確認できる。
