Express Step Function 中的 AWS Express Step Function 执行

问题描述

Standard Workflow 中,我们可以使用

愉快地调用一个 Standard workflow
{
  "Type": "Task","Resource": "arn:aws:states:::states:startExecution.sync:2","Parameters": {
    "StateMachineArn": "${nestedStateMachineArn}",...
  }
  ...

当我们尝试对 Express workflow 执行相同操作时,我们当然会得到 Express state machine does not support '.sync' service integrationaws 如此预期的行为说明了这一点。

是否有另一种方法可以从另一个 Express workflow 执行 Express workflow 并以某种方式获得执行结果/输出?我可以想到最后的手段 - 使用 Lambda 函数来执行嵌套的工作流同步并等待响应,也就是说,它会增加函数不必要地等待 StateMachine 的成本。

我试图环顾四周,但在任何地方都找不到此文档。

解决方法

您可以执行另一个工作流程,只是不能等待结果。我相信您只需要从资源中删除 .sync。如果您需要等待第二个函数的结果,您将无法在快速工作流中执行此操作。

来自Service Integrations with AWS Step Functions

标准工作流和快速工作流支持相同的服务集成集,但不支持相同的集成模式。快速工作流不支持运行作业 (.sync) 或等待回调 (.waitForTaskToken)。有关详细信息,请参阅 Standard vs. Express Workflows