AWS

【AWS Lambda】はじめてのサーバレス開発①(PythonでHello Worldを確認)

・AWS Lambdaを初めて触る方
・AWS Lambdaを動かしてHello Worldを確認

はじめに

AWSの超有名サービスである「AWS Lambda」の簡単な使い方の紹介となります。
この記事ではAWS Lambdaを用いてHello Worldを出力するのみとなります。

なお、Hello Worldを出力する言語はPython3.7です。

AWS Lambdaに移動

まずはAWS Lambdaに移動します。
AWSのアカウントを作成されていない方は作成してください。作成方法は割愛致します。

https://console.aws.amazon.com/lambda/home

関数の作成を選択

上記URLからAWS Lambdaのコンソールに移動したら「関数」を選択します。
その後、右側にある「関数の作成」を選択します。

関数の新規作成

今回は単純なHello Worldの出力のみであり、他サービスとの連携を考えていないため設定はすべてデフォルトで問題ありません。
関数名を任意の名前に設定して、ランタイムを「Python3.7」を設定します。

その後、右下にある「関数の作成」を選択します。

Hello Worldをコーディング

関数を作成するとコード画面に移動します。
画面中央にあるコードソース箇所の「lambda_handler」関数の中にHello Worldを出力するコードを書きます。
前述の通り今回はPythonを選択していますのでPythonでコーディングしています。

import json

def lambda_handler(event, context):
    print('Hello World')
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }

実行

Hello Worldを出力するコードを書いたら実行します。
「Deploy」ボタンを押して関数が実行準備出来たら「Test」を押します。

Testを押すとテストイベントを設定します。
こちらはパラメーターを使う場合等で利用しますが今回は無関係のため、適当にイベント名を入れて「作成」を押します。

作成後、再度「Test」ボタンを押すと実行されます。

実行結果確認

Testボタンを押すと関数が実行されます。
結果は新規タブに表示されます。
構文が間違っていなければreturn文にあるReponseに出力され、追加したHello WorldがFunction Logsに出力しています。

その他

関数を作成したときにデフォルトで用意されている「lambda_handler」ファンクションに対して実行されます。メイン関数です。
メイン関数を変更したい場合はランタイム設定の変更が必要です。

関数内の下部にある「ランタイム設定」の「編集」を選択します。

ランタイム設定編集画面の「ハンドラ」の「lambda_handler」部分をメイン関数にしたい名前を設定します。
なお「lambda_function」は残してください。

最後に

以上で、AWS Lambdaの関数の新規作成と実行までの紹介となります。
これだけだと利用するメリットはありませんが、他サービスと組み合わせることで驚異的なシステムとなります。