yoshiislandblog.net
元営業の駆け出しアラサーSEが、休日にMACと戯れた際の殴り書きメモ。日々勉強。日々進歩。
lambda_sammary

AWS Lambdaに入門した話

2021-01-31

Lambdaはよく聞くけど、実は触ったことが無かったので入門してみた
参考:今度こそ理解する!俺式Lambda入門

Lambdaとは、AWSのサービスで、サーバーレスで関数を実行することができる

今回は、S3バケットにファイルを配置したらログを吐く、というよくある関数を定義する

lambda_sammary


  1. S3バケットの作成
  2. Lambda関数の作成
  3. 実行

S3バケットの作成

まずは、準備としてS3バケットを作成しておく

Amazon S3」にアクセスし、「Create bucket」
「Bucker name」を入力して「Create bucket」

aws_lambda

aws_lambda

Lambda関数の作成

AWS Lambda」にアクセスし「Create function」

aws_lambda

「Author from scratch」を選択し、「function name」を入力
「Runtime」は「Python3.6」を選択
最後に「Create function」をクリックし関数を作る

aws_lambda

トリガーから作成する
「Add trigger」をクリック

aws_lambda

S3バケットにファイルが置かれたらをトリガーにしたいので、「S3」を選択
先ほど作成したBucketを選択し「Add」

aws_lambda

「Test」をクリックしイベントを作成する

aws_lambda

「Event name」を任意の名前で入力し「Create」

aws_lambda

メインの関数を作成する
真ん中のオレンジのアイコンをクリック
下の枠に以下のコードを入力

「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

aws_lambda

Lambdaのページに戻り、「Monitoringタブ」>「View logs in CloudWatch」からログを確認
参考:AWS Lambda

無事に関数が実行され、意図した内容がPrintされていた

aws_lambda

以上。