AWS Lambda でS3にファイルがアップロードされたのを検知する - 株式会社CoLabMix

AWS Lambda でS3にファイルがアップロードされたのを検知する

今回は AWS Lambda を使ってS3にファイルがアップロードされたのを検知します。

その後に色々やりたいのですが、まずは今回は検知だけで。

AmazonS3の設定

試験しやすいようにAWS CLIを使って以下のようにバケットの作成を行います。

バケットが作成されました。

そしてローカルのテストファイルを作成します。

 

こちらをAWS CLIでアップロード。

 

一旦、ファイルは削除いたします。

 

S3側の準備はここまでです。

 

AWS Lambda の設定

まずAWSコンソールからLambdaにアクセスします。

「関数の作成」をクリックします。

 

「関数の作成」の「一から作成」を選択された状態にします。

 

名前を「myFirstTest」として「ロール」セレクトボックスの部分をクリックします。

 

「カスタムロールの作成」をクリックします。

 

特に変更せず、右下の「許可」をクリックします。

 

既存のロールで「lambda_basic_execution」が選ばれたので右下の「関数の作成」をクリックします。

 

「myFirstTest」の関数が作成されました。

 

 

トリガーを追加するために左側のメニューから「S3」を選択します。

 

トリガーの設定を以下にします。

バケット sample-app01.developer-collaboration.com
イベントタイプ オブジェクトの作成(すべて)
プレフィックス input

右下の「追加」をクリックします。

 

S3のトリガーが「保存されていない変更」で追加されているのが確認できました。

 

 

次に「myFirstTest」のLambda関数の部分をクリックします。

 

「index.js」を上記のように変更します。

設定したファイルは以下になります。

 

 

右上の「保存」ボタンをクリックします。

こちらでトリガーの設定は完了です。

 

S3の操作

再度、AWS CLIに戻りS3にファイルをアップしてみます。

 

「モニタリング」タブを確認すると以下のようにイベントの発動がモニタリングできます。

 

また「CloudWatchのログを表示」を押すと以下のようなイベントのログが表示できます。

 

こちらで無事、ファイルのアップロードの検知が実施できました。

今回はコンソールを使った基本的な動きを試してみたので、次回はもう少し複雑な動作などを試してみます。

 

【関連記事】
AWS LambdaでS3にファイルがアップロードされたら、加工して別フォルダにファイルを作成する(Python)
外部のライブラリを利用してのAWS Lambdaの設定
AWS Lambdaをpython-lambda-localとlambda-uploaderを使ってローカル開発してみる

 

 

このブログは株式会社CoLabMixによる技術ブログです。

GCP、AWSなどでのインフラ構築・運用や、クローリング・分析・検索などを主体とした開発を行なっています。

Ruby on RailsやDjango、Pythonなどの開発依頼などお気軽にお声がけください。

開発パートナーを増やしたいという企業と積極的に繋がっていきたいです。

お問い合わせやご依頼・ご相談など

    関連記事

    1. CentOS 7で firewalld の設定

    2. scrapy-redisを使って、redisを使ったクローリングを試…

    3. CentOS8 + Apache2.4 を 無料 の SSL 「Let…

    4. scrapy-redisを使って、redisを使ったクローリングを試…

    5. Dreddを使用してAPIをテストする

    6. Elasticsearchのkuromojiの検索で重要な辞書(dic…