我正在设计一个状态机,它将运行两个lambda函数,这些函数并行返回每个Json数组。此外,这些函数的结果然后传递给另外两个lambda函数,这些函数将获取这些输入并添加到数据库中。我已准备好所有函数并单独工作,但是当我执行状态机时,它说其中一个执行因DataLimitExceeded而失败。我检查了文档,它说输入或输出结果的限制是32.768个字符。奇怪的是,成功的执行是Json对象返回的大约是50k个字符的那个,以及那个大约46k个字符失败的那个。所以,如果两者都超过极限,为什么其中一个失败而另一个失败!
{
"StartAt": "Sync",
"States": {
"Sync": {
"Type": "Parallel",
"Next": "EnviarNotificacion",
"Branches": [
{
"StartAt": "SyncClientes",
"States": {
"SyncClientes": {
"Type": "Task",
"Resource": "arn...",
"Next": "AddClientes"
},
"AddClientes" : {
"Type": "Task",
"Resource": "arn...",
"End": true
}
}
},
{
"StartAt": "SyncArticulos",
"States": {
"SyncArticulos": {
"Type": "Task",
"Resource": "arn...",
"Next": "AddArticulos"
},
"AddArticulos": {
"Type": "Task",
"Resource": "arn...",
"End": true
}
}
}
]
},
"EnviarNotificacion": {
"Type": "Pass",
"End": true
}
}
}

非常感谢!
答案 0 :(得分:2)
有人给我另一个对我有好处的解决方案,所以如果有人有类似的问题,我会在这里发布。我所做的是简单地将我需要的数据保存在S3上的文件中,而在第二个函数中我从S3读取该文件并且工作得很好。我注意到的一件事是,当我在S3上保存文件时,工作正常的函数数据为31kb,而失败的函数数据为35kb,因此最大大小可能是32kb而不是文档所说的字符。