AWS Lambda(Python3.9.10)から別のLambdaを呼び出す
Lambda(Python)からLambda(Python)を呼び出します。
呼び出す側のLambda(Python3.9.10)
python2python
import json import boto3 def lambda_handler(event, context): response = boto3.client('lambda').invoke( FunctionName = 'python-template', InvocationType='RequestResponse' ) print(response) return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda!') }
FunctionNameでLambda名を指定します。
InvocationTypeは以下を指定することが出来ます。
InvocationType | 意味 |
---|---|
RequestResponse | 同期処理 |
Event | 非同期処理 |
インラインポリシー作成し、許可を追加します。123456789012はアカウントIDです。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:*:123456789012:function:*" } ] }
呼び出される側のLambda(Python3.9.10)
python-template.py
import json def lambda_handler(event, context): # TODO implement return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda!') }
テスト
呼び出す側のLambdaの「テスト」を実行します。
呼び出される側のCloudWatchログを見ると、ログ出力されますので実行されたことが確認できます。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^