【AWS Lambda】invokeの使い方を簡単解説!

今回は、boto3関数のcreate_export_taskについて解説します。
「どうやって使うの?」の解説からパラメータを入力したら自動でコード作成までお手伝いします。

利用目的

この関数を使用することで指定したLambda関数を実行することができます。
実行は同期実行、非同期実行が選択可能です。
非同期実行には「invoke_async」関数もありますが、非推奨のためこちらの関数を使用しましょう。

Lambdaから別のLambdaを実行させることができるので、関数内の処理を少なくし条件ごとに別の関数を呼び出すマイクロサービスに近い形態が取れるようになります。
処理内容を少なくすれば、Lambdaの実行時間15分の制限にもかかり辛くなるので、使いこなせればとても強い味方となる関数です。

権限

Lambdaに付与するIAMロールに「lambda:InvokeFunction」の権限を付与してください。

コード生成

パラメータを入力することで、コピーすればすぐに使えるLambdaコードを生成できます。
「*」のついている物は必須パラメータで、ついていないものはオプションです。
import boto3

lambda_client = boto3.client('lambda')
def lambda_handler(event, context):
    response = lambda_client.invoke(
        FunctionName='',
    )

    return 0

▼基本設定

関数名*

▼オプション設定

実行タイプ

同期実行:呼び出したLambdaの実行完了を待ちます。
非同期実行:呼び出したLambdaを実行するが、完了を待たず次の処理へ進みます。

ログタイプ

出力なし:呼び出したLambdaの出力ログを応答として受け取りません。
出力あり:呼び出したLambdaの出力ログを応答として受け取ります。

クライアント
コンテキスト

Lambdaのcontextに情報を引き渡すことが可能です。

引数

Lambdaのeventに情報を引き渡すことが可能です。

バージョン/
エイリアス

実行するLabdaのエイリアスやバージョンを指定可能です。

仕様

こちらの記事もどうぞ