AWS Lambdaに入門した話
Lambdaはよく聞くけど、実は触ったことが無かったので入門してみた
参考:今度こそ理解する!俺式Lambda入門
Lambdaとは、AWSのサービスで、サーバーレスで関数を実行することができる
今回は、S3バケットにファイルを配置したらログを吐く、というよくある関数を定義する
S3バケットの作成
まずは、準備としてS3バケットを作成しておく
「Amazon S3」にアクセスし、「Create bucket」
「Bucker name」を入力して「Create bucket」
Lambda関数の作成
「AWS Lambda」にアクセスし「Create function」
「Author from scratch」を選択し、「function name」を入力
「Runtime」は「Python3.6」を選択
最後に「Create function」をクリックし関数を作る
トリガーから作成する
「Add trigger」をクリック
S3バケットにファイルが置かれたらをトリガーにしたいので、「S3」を選択
先ほど作成したBucketを選択し「Add」
「Test」をクリックしイベントを作成する
「Event name」を任意の名前で入力し「Create」
メインの関数を作成する
真ん中のオレンジのアイコンをクリック
下の枠に以下のコードを入力
「lambda_handler」という関数がトリガーが起こると呼び出される
def lambda_handler(event, context): print("Hi Lambda!") input_key = event['Records'][0]['s3']['object']['key'] print("key = ", input_key)
これでLambda関数の設定は完成
実行
作成したLambda関数を動かしてみる
作成したS3バケットにドラッグアンドドロップで適当なファイルをアップロードする
参考:Amazon S3
Lambdaのページに戻り、「Monitoringタブ」>「View logs in CloudWatch」からログを確認
参考:AWS Lambda
無事に関数が実行され、意図した内容がPrintされていた
以上。