Amazon web services AWS Express Step函数在Express Step函数中执行

Amazon web services AWS Express Step函数在Express Step函数中执行,amazon-web-services,aws-serverless,aws-step-functions,Amazon Web Services,Aws Serverless,Aws Step Functions,在标准工作流中,我们可以使用 { "Type": "Task", "Resource": "arn:aws:states:::states:startExecution.sync:2", "Parameters": { "StateMachineArn": "${NestedStateMachineArn}", ... }

标准工作流
中,我们可以使用

{
  "Type": "Task",
  "Resource": "arn:aws:states:::states:startExecution.sync:2",
  "Parameters": {
    "StateMachineArn": "${NestedStateMachineArn}",
    ...
  }
  ...
当我们尝试对
Express workflow
执行相同操作时,我们当然会得到
Express状态机不支持“.sync”服务集成
。这是由aws的预期行为规定的

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


我试着四处看看,但在任何地方都找不到这篇文档。

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

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


我应该在我的问题中澄清一下,我希望从嵌套的Step函数中获得输出。我已经在中编辑并添加了它。不幸的是,除了你所描述的之外,没有一种方法可以做到这一点。我想换一种方式,但我不这么认为。API网关与step函数的集成对express workflow具有相同的限制,因此,虽然您可以从第一个step函数调用API网关作为请求/响应,但第二个步骤函数只能运行express workflow而无法获得结果。如果第二步功能可以是标准工作流,那么您将有一些选项。