我有一个AWS Lambda函数,该函数将一组参数传递给另一个函数。经过一些处理后,该第二个函数应该返回一个值,但是由于某种原因,第一个函数没有收到该值。
这是调用方函数:
import boto3
lam = boto3.client('lambda')
def lambda_handler(event, context):
payload={}
payload['key1'] = 'Test Value'
response=lam.invoke(FunctionName='callee', InvocationType='RequestResponse', Payload=json.dumps(payload))
print(response)
这是被调用方功能:
def lambda_handler(event, context):
print('value1=' + event['key1'])
return event['key1']
被调用方函数按预期方式打印该值,但调用方函数未收到被调用方的返回。
我该如何解决? 谢谢。
答案 0 :(得分:1)
response
对象返回为:
{
'ResponseMetadata': {...},
'StatusCode': 200,
'ExecutedVersion': '$LATEST',
'Payload': <botocore.response.StreamingBody object at 0x7f34aea2d240>
}
然后您可以通过以下方式提取返回值:
print(response['Payload'].read())