0
0
お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

EventBridgeを使用しS3へのファイルアップロードをトリガーにLambdaを動かす

Posted at

はじめに

本記事ではAmazon EevntBrige使用し、S3バケットへファイルをアップロードしたことをトリガーにしてLambdaを実行させてみます。

EevntBrige とは?

AWSのサービスやSaaSで発生するイベントをトリガーとしてワークフローを動かすことができるサービス。
EevntBrigeを使用すればイベント駆動型アーキテクチャを簡単に構築する事ができる。

ゴール

S3へのファイルアップロードをトリガーとしLambdaを実行させる。

環境

python 3.12

S3

対象のバケットのプロパティを選択。

image.png

イベントの通知からAmazon EventBridgeの「編集」を選択し、通知をオンに変更。

image.png

Lambda

実行されたことの確認のため Hello Lambda と出力されるLambda関数を準備します。

lambda_function.py
import json

def lambda_handler(event, context):
    print('Hello Lambda')
    return 

EventBrige

ルールを作成します。

image.png

イベントパターンには以下の内容で設定します。

image.png

イベントパターン
{  
  "source": ["aws.s3"],  
  "detail-type": ["Object Created"],  
  "detail": {  
    "bucket": {  
      "name": ["test-s3-eventbrige"]  
    },  
    "object": {  
      "key": [{  
        "prefix": ""  
      }]  
    }  
  }  
}

ターゲットとしては実行するLambdaを選択します。
今回は先ほど作成した「test-s3-lambda」関数を選択し、あとはデフォルトの設定で進みルールを作成します。

image.png

ここまでできたらS3バケットに任意のファイルをアップロードし、Lambdaが実行されるか確認します。

実行 & 結果

S3バケットにファイルをアップロードすると、Lambdaが実行されCWのログが吐かれている事を確認できました。

image.png

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0