Lambda调用Lambda - 如何在第二个Lambda中访问有效负载?

7

我正在使用以下方式从另一个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):
    (...)
3个回答

0
您的有效载荷应该在event字典的body中。尝试使用json.loads(event['body']).get('id')

-1

1
谢谢您的建议,但我正在使用Python而不是nodejs。 - Filipe Aleixo

-1
在第二个 lambda 函数中,你只需要执行 id = context['id']。当它是一个异步调用时,event 不会带有 body 键。

如果您澄清从事件读取和从上下文读取之间的区别,并在何种情况下应访问它们,那么任何读者都会受益。 - Chris Ivan
如果我使用上下文来检索有效载荷,我会收到这个错误消息:"errorMessage": "'LambdaContext' object is not subscriptable" - James Huang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接