我正在使用以下方法从另一个 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
这可能相当明显,但我找不到它的文档 - 我如何访问定义为的第二个 lambda 中的有效负载:
def process(event, context):
(...)
您的有效负载应位于event
字典的body
中。 试试json.loads(event['body']).get('id')
。
可能的重复问题 -- Nodejs - 调用 AWS。另一个 lambda 函数中的 lambda 函数
请注意,您可能需要查看步骤函数,以防止 Lambda A 在等待 Lambda B 完成时产生成本。
在第二个 lambda 上,你只需要做id = context['id']
。当它是异步调用时,event
不会附带body
密钥。