我目前正在创建一个Step函数工作流,它包含一些Lambdas和其他在一个任务和另一个任务之间共享状态的服务。
我主要是在Lambda上做一些外部请求,并在任务之间共享来处理这些数据。
当我试图测试我的Step函数工作流时,我收到了以下错误:States.DataLimitExceeded,,但是当我在Lambda控制台上测试时,一切都正常工作。
错误:

有人能帮助我理解我在Step函数工作流中做错了什么吗?
发布于 2022-01-20 17:01:28
Step函数服务对作为UTF-8编码字符串的数据的256 of (更必要的262,144字节)的输入/有效负载有限制。此配额影响任务(活动、Lambda函数或集成服务)、状态或执行输出,以及在调度任务、进入状态或开始执行时输入数据。
在您的示例中,在状态之间发送的限制似乎超过了这个限制,这对于Lambda函数来说不是问题,因为对于事件来说,Lambda限制是6MB。
要处理这个问题,您需要在另一个服务(如S3 )中共享这些巨大的有效负载,然后在您的函数/状态之间发送此引用。
例如,如果您决定在这种情况下使用S3,我们可以这样做:
-> Lambda do the request
-> Save on S3 the data
-> Send the response with the S3 object ARN
-> Get this file on the Lambda function and process the data这将阻止您在Step函数中直接发送有效负载,您将不需要担心这个256 is的输入限制。
要了解有关步骤函数配额/限制的更多信息,请在这里查看:阶跃函数-配额
https://stackoverflow.com/questions/70790099
复制相似问题