Lambda вызывает Lambda - как получить доступ к полезной нагрузке во второй? - PullRequest
1 голос
/ 29 марта 2019

Я вызываю Lambda из другой Lambda асинхронно, используя:

payload = {"id":item['id']}
invoke_lambda = lambda_client.invoke(FunctionName="process",
                                     InvocationType="Event",
                                     Payload=json.dumps(payload)) # Use InvocationType="RequestResponse" for synchronous run

Это, вероятно, довольно очевидно, но я не могу найти документацию для этого - как мне получить доступ к полезной нагрузке во второйлямбда определяется как:

def process(event, context):
    (...)

Ответы [ 3 ]

0 голосов
/ 29 марта 2019

Ваша полезная нагрузка должна быть в body из event dict. Попробуйте json.loads(event['body']).get('id').

0 голосов
/ 31 марта 2019

На второй лямбде нужно просто сделать id = context['id'].Когда это асинхронный вызов, event не идет с ключом body.

0 голосов
/ 29 марта 2019

Возможный дубликат вопроса - Nodejs - вызвать функцию AWS.Lambda из другой лямбда-функции

Обратите внимание, что вы, возможно, захотите взглянуть на пошаговые функции, чтобы не допустить, чтобы лямбда A не понесла расходы, поскольку она ожидает завершения лямбда B.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...