CDK Step Functions - 如何创建循环

CDK Step Functions - How to create a loop

我正在尝试迁移我使用 AWS 接口创建的 Step 函数,但我遇到了重现以下行为的问题:

根据条件,我希望我的任务 2 执行任务 3 并返回到任务 1,或者结束 step 函数。 我的问题是图像上的红色路径 这是我现在的代码:

sfn.Chain.start(OtherTaskWeDoNotCare)
  .next(task1)
  .next(
    new sfn.Choice(this, "task2").when(
      sfn.Condition.booleanEquals("$.isFinished", false),
      task3.next(task1) // This is not working
    )
  );

希望有人能帮助我!提前致谢!

我终于找到怎么做了! 这是代码:

sfn.Chain.start(OtherTaskWeDoNotCareHere)
  .next(task1)
  .next(
    new sfn.Choice(this, "task2")
    .when(
      sfn.Condition.booleanEquals("$.isFinished", false),
      task3.next(task1)
    )
    .otherwise(new sfn.Succeed(this, "Done"))
  );

很高兴你能解决这个问题!

以下是有关使用 Step Functions 和 Lambda 循环迭代的一些附加信息:Iterating a Loop Using Lambda - AWS Step Functions