#python #amazon-web-services #aws-lambda
#python #amazon-веб-сервисы #aws-lambda
Вопрос:
У меня есть 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']
Вызываемая функция выводит значение, как ожидалось, но вызывающая функция не получает возврата от вызываемого.
Как я могу это исправить? Спасибо.
Комментарии:
1. Не следует ли
callee
вызывать функциюcallee
вместоlambda_handler
?
Ответ №1:
response
Объект возвращается как:
{
'ResponseMetadata': {...},
'StatusCode': 200,
'ExecutedVersion': '$LATEST',
'Payload': <botocore.response.StreamingBody object at 0x7f34aea2d240>
}
Затем вы можете извлечь возвращаемое значение с помощью:
print(response['Payload'].read())