はじめに
本記事ではAmazon EevntBrige使用し、S3バケットへファイルをアップロードしたことをトリガーにしてLambdaを実行させてみます。
EevntBrige とは?
AWSのサービスやSaaSで発生するイベントをトリガーとしてワークフローを動かすことができるサービス。
EevntBrigeを使用すればイベント駆動型アーキテクチャを簡単に構築する事ができる。
ゴール
S3へのファイルアップロードをトリガーとしLambdaを実行させる。
環境
python 3.12
S3
対象のバケットのプロパティを選択。
イベントの通知からAmazon EventBridgeの「編集」を選択し、通知をオンに変更。
Lambda
実行されたことの確認のため Hello Lambda
と出力されるLambda関数を準備します。
lambda_function.py
import json
def lambda_handler(event, context):
print('Hello Lambda')
return
EventBrige
ルールを作成します。
イベントパターンには以下の内容で設定します。
イベントパターン
{
"source": ["aws.s3"],
"detail-type": ["Object Created"],
"detail": {
"bucket": {
"name": ["test-s3-eventbrige"]
},
"object": {
"key": [{
"prefix": ""
}]
}
}
}
ターゲットとしては実行するLambdaを選択します。
今回は先ほど作成した「test-s3-lambda」関数を選択し、あとはデフォルトの設定で進みルールを作成します。
ここまでできたらS3バケットに任意のファイルをアップロードし、Lambdaが実行されるか確認します。
実行 & 結果
S3バケットにファイルをアップロードすると、Lambdaが実行されCWのログが吐かれている事を確認できました。
参考