AWS Lambdaの実行(Python)

aws-lambda-pythonのアイキャッチ画像 AWS

AWSのLambdaを実行する方法を解説します。
Lambdaはプログラムを実行するときだけ起動および課金されるため、常時起動が必要なEC2を構築する場合に比べてコストを抑えることができます。

IAMロールの用意

LambdaからRDSへアクセスできように、IAMロールを用意します。
基本的なIAMロールの追加方法は、こちらの「IAMポリシーの追加」「IAMロールの追加」を参考にして下さい。

IAMポリシーは以下のように設定します。

AWSのIAMポリシーの設定

Lambdaの追加

AWSマネージメントコンソール > サービス > Lambda > 関数で、(Lambda)関数の作成します。

AWSのLambda設定①

AWSマネージメントコンソール上で実装

AWSマネージメントコンソール上で実装・実行する方法です。

AWSのLambda設定②
AWSのLambda設定③

ローカル環境で実装

ローカル環境で実装し、AWSへアップロードして実行する方法です。
ローカル環境でのLambda用Python環境の構築方法はこちらを参考にして下さい。

「C:\lambda\lambda_function.py」ファイルを作成し、以下のように記載します。

import json

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

「C:\lambda」内のファイル群を圧縮してZIPファイルをつくります。

AWSのLambda設定④

S3へアップロード・Lambdaへ適用

AWSマネージメントコンソール > サービス > S3 > バケットで、バケットを作成します。
同バケットに前述のZIPファイルをアップロードします。

AWSのLambda設定⑤

アップロードしたZIPファイルの保存場所(URL)を控えておきます。

AWSのLambda設定⑥

Lambdaのコードで、アップロードしたZIPファイルを指定するようにします。

AWSのLambda設定⑦
AWSのLambda設定⑧

動作確認

テストでアップロードしたコードを実行することができます。

ファイル名・関数名の変更

Lambdaで実行するPythonのファイル名と関数名は以下で指定することができます。

ローカルで用意したファイルが「lambda_function.py」、関数名が「lambda_handler()」であれば、Lambdaでは上図のように「lambda_function.lambda_handler」と指定します。Lambdaではこの名前での指定がデフォルトです。

デフォルトから変えたい場合、例えば、ローカルで用意したファイルが「lambda_hoge.py」、関数名が「lambda_hoge()」であれば、Lambdaでは上「lambda_hoge.lambda_hoge」のように指定します。

タイトルとURLをコピーしました