【问题标题】:How to invoke second lambda function with parameter using python如何使用python调用带有参数的第二个lambda函数
【发布时间】:2016-12-13 05:42:56
【问题描述】:

我想使用 Python 从第一个 lambda 函数调用第二个 Lambda 函数。要调用我正在使用以下代码 sn-p: lambda_client = boto3.client('lambda')

def lambda_handler(event, context):
    invoke_response = lambda_client.invoke(FunctionName="teststack",InvocationType='RequestResponse')

我想将两个附加参数传递给第二个 lambda 函数,例如:姓名和年龄,有人可以帮助我如何将附加参数传递给另一个 lambda 函数以及如何在第二个 lambda 函数中接收它。

提前感谢您的帮助!

【问题讨论】:

    标签: python amazon-web-services aws-lambda


    【解决方案1】:

    你有两个选择。来自the official documentation

    ClientContext (string) -- 使用 ClientContext 你可以通过 您正在调用的 Lambda 函数的特定于客户端的信息。 然后,您可以将 Lambda 函数中的客户端信息处理为 您通过上下文变量进行选择。举个例子 ClientContext JSON,请参阅 Amazon Mobile Analytics API 中的 PutEvents 参考和用户指南。

    ClientContext JSON 必须是 base64 编码的。

    Payload(字节或可搜索的类似文件的对象)——你想要的 JSON 提供给您的 Lambda 函数作为输入。

    在 Lambda 函数中,Payload 可通过 event 参数获得。 ClientContext 可通过context 参数获得。

    【讨论】:

    • 谢谢马克!我无法将一个 lambda 函数调用到另一个 lambda 函数。我没有收到任何错误,但它会继续加载并在 5 分钟后超时。可能是什么原因,有什么想法吗?
    • 您可能在您的 Lambda 函数上启用了 VPC 访问,而没有向您的 VPC 添加 NAT 网关,因此 Lambda 函数不再有权访问 AWS API。从 VPC 中删除 Lambda 函数,或将 NAT 网关添加到您的 VPC。看到这个:stackoverflow.com/questions/38188532/…
    猜你喜欢
    • 2020-03-05
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    相关资源
    最近更新 更多