AWS Step Functions - 当没有迭代发生时利用空的地图状态输出

问题描述

我有一个包含 3 个步骤的工作流程:

  1. 任务 - 上传 N 个文件
    • 生成 N 个作业定义的数组,用作第 2 步映射状态的输入
  2. Map - 处理每个作业
    • 由于地图状态,这被执行了 N 次
  3. 任务 - 做其他事情

如果第 2 步中发生任何迭代,我希望只执行第 3 步。按照这种设计方式,第 1 步通常不会产生任何输出,因此基本上可以跳过第 2 步。

我注意到,在我概述的场景中,第 2 步的输出只是 [],通常它包含大量关于迭代的信息。是否可以执行这种工作流程?

解决方法

选择第 1 步之后的状态来检查 Map 中是否至少有一条记录,我们无法检查数组的长度,因此在 map public static void CorrectedMain() { Console.WriteLine("What is your name? "); string name = Console.ReadLine(); char[] reversedLetters = new char[name.Length]; for (var i = name.Length; i > 0; i--){ reversedLetters[i-1] = name[name.Length -i ]; } var reversed = new string(reversedLetters); Console.WriteLine(reversed); } 的第一个元素上使用 isPresent

步骤定义

$.inputForMap[0]

当 Map 不为空时

enter image description here

当地图为空时

enter image description here