AWS Step Functions 数据限制

AWS Step Functions Data Limit

我正在设计一个状态机,它将 运行 两个 lambda 函数 return 每个 Json 并行数组。此外,这些函数的结果随后被传递给另外两个 lambda 函数,这些函数将接受这些输入并添加到数据库中。我已准备好所有功能并单独工作,但是当我执行状态机时,它说其中一个执行因 DataLimitExceeded 而失败。我查看了文档,它说输入或输出结果的限制是 32.768 个字符。奇怪的是,执行成功的是 Json 对象 returned 大约 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
    }
  }
}

非常感谢!

好吧,有人给我另一个对我有用的解决方案,所以我 post 如果有人遇到类似的问题,我会在这里。我所做的只是简单地将我需要的数据保存在 S3 上的一个文件中,在第二个函数中,我从 S3 读取这个文件并且工作正常。我注意到的一件事是,当我将文件保存在 S3 上时,正常工作的函数的数据是 31kb,而失败的是 35kb,所以最大大小可能是 32kb,而不是文档所说的字符。