【发布时间】:2022-10-18 22:16:25
【问题描述】:
我有一个迭代我的数组的 Map 状态。在地图状态中,有一个 Lambda 任务和一个等待任务。等待任务等待很长时间,我只需要在迭代之间等待。因此,如果这是最后一次迭代,我想跳过等待,因为不需要它。
每次物品不同,数量也不同。
但是,地图上下文只有$$.Map.Item.Index和$$.Map.Item.Value变量。例如,我找不到任何关于总步数的变量的提及。
我怎样才能做到这一点?
【问题讨论】:
-
您想确定“最后一次迭代”。你是什么意思?给定 Map 状态项 [A, B, C],最后一次迭代是什么?是“C”,项目数组中的最后一个元素吗?或者也许是“B”,如果“A”和“C”先完成?
-
@fedonev我的并发性有限,所以他们一一进行。所以那是C。但实际上,哪个是序列并不重要。我需要知道没有更多,所以这绝对是最后一个 - 无论是 A、B 还是 C。
-
我问是因为让每次迭代都反省它是否是“C”(最后一个数组项)是一个确定且简单的问题。反思并发迭代是否是最后一个仍在运行的迭代是一个不确定的难题。
-
@fedonev 是的,这就是每次物品不同且数量不同的问题。
-
你对完成的定义是什么?为了ñ地图状态中的项目(其中ñ事先不知道),之后尽快退出状态N-1项目(除了“最后一次迭代”之外的所有项目)都完成了吗?
标签: amazon-web-services aws-step-functions