【问题标题】:Pass object instance through lambda invoke function in python通过python中的lambda调用函数传递对象实例
【发布时间】:2022-06-19 02:28:11
【问题描述】:

我有多个 Lambda 函数。我在 python 中使用 Lambda 调用从第一个 Lambda 函数调用另一个 Lambda 函数。我有一个具有字典数据的类的对象实例。我想另外将对象实例传递给带有 json 对象的其他 lambda 函数。我该怎么做?

objReferenceData = ReferenceData()
objReferenceData_dict = objReferenceData.__dict__
"This objReferenceData_dict contains all the data which have dictonary object." 

## First lambda
inputForInvoker = responsejson
logger.info(inputForInvoker)
response = client.invoke(
            FunctionName = 'arn:aws:firstfun',
            InvocationType = 'RequestResponse',
            Payload = json.dumps(inputForInvoker)
                )
responsejson = json.load(response['Payload'])
return responsejson
            else:
                pass
            
## second lambda
inputForInvoker = responsejson
response = client.invoke(
            FunctionName = 'arn:aws:secondfun',
            InvocationType = 'RequestResponse',
            Payload = json.dumps(inputForInvoker)
                )
responsejson = json.load(response['Payload'])
else:
    pass

I want to pass the `objReferenceData_dict` with the `responsejson`. I tried to send that adding this `objReferenceData_dict` to the `responsejson` but the data is too large. The lambda handler only has a limit of 6mb. 
            

【问题讨论】:

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


    【解决方案1】:

    您似乎了解用于同步调用另一个 lambda 的 api,因此您唯一的问题似乎是 6MB 限制。这是hard limit according to the documentation

    因此,您必须选择另一种数据传输方法。当然,有很多选择。想到的两个是使用put_object将数据作为对象写入s3,或者将消息发送到sqs队列,因为你可以Now Send Payloads up to 2GB with Amazon SQS

    对于前者,您将使用 s3 对象的键调用第二个 lambda。对于后者,您将通过队列触发第二个 lambda,然后使用不同的工作流程处理响应。

    在任何情况下,如果您需要调用超过 6MB 的大小,则无法直接传递有效负载。

    【讨论】:

    • 您好,非常感谢您的回复。尝试将数据从 s3 调用到 lambda 时,我有点担心性能和速度。
    • 我不确定您的需求是什么,但在 lambda 之间旅行会使用相同的网络,所以应该不会太糟糕。如果您有严重的延迟问题,您可能希望加入一个 lambda 或考虑 eke 或 ecs。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多