Нет возврата значения от AWS Lambda - PullRequest
0 голосов
/ 27 марта 2019

У меня есть функция 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 Ответ

1 голос
/ 27 марта 2019

Объект response возвращается как:

{
    'ResponseMetadata': {...}, 
    'StatusCode': 200, 
    'ExecutedVersion': '$LATEST', 
    'Payload': <botocore.response.StreamingBody object at 0x7f34aea2d240>
}

Затем вы можете извлечь возвращаемое значение с помощью:

print(response['Payload'].read())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...