AWS Lambda から Lambda の実行(パラメーター、戻り値の受け渡し)
Programming
公開: 2023-05-04
概要
パラメーターは呼び出し時の Payload に設定する。
戻り値はレスポンスの Payload に設定されている。
最小コード
呼び出し側
import boto3
import json
def lambda_handler(event, context):
request_payload = {
"hoge": "fuga",
}
response = boto3.client('lambda').invoke(
FunctionName='testFunction02',
InvocationType='RequestResponse',
Payload=json.dumps(request_payload),
)
print(response)
response_payload = json.loads(response['Payload'].read())
print("response_payload", response_payload)
print("message", response_payload["message"])
呼び出される側
def lambda_handler(event, context):
print("event", event)
hoge = event["hoge"]
print("hoge", hoge)
return {
'message': 'called by testFunction01'
}
ログの出力内容
呼び出し側
{'ResponseMetadata': {'RequestId': '99830c27-a341-4d7e-91e9-819b2ac779c4', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Thu, 04 May 2023 01:18:14 GMT', 'content-type': 'application/json', 'content-length': '39', 'connection': 'keep-alive', 'x-amzn-requestid': '99830c27-a341-4d7e-91e9-819b2ac779c4', 'x-amzn-remapped-content-length': '0', 'x-amz-executed-version': '$LATEST', 'x-amzn-trace-id': 'root=1-645307d4-0ceef8206574be9626796855;parent=334ddcb92dfdd93e;sampled=0;lineage=364c236b:0|755b2c57:0'}, 'RetryAttempts': 0}, 'StatusCode': 200, 'ExecutedVersion': '$LATEST', 'Payload': <botocore.response.StreamingBody object at 0x7fc323960610>}
response_payload {'message': 'called by testFunction01'}
message called by testFunction01
呼び出される側
event {'hoge': 'fuga'}
hoge fuga