aws:loop – 迭代自动化中的步骤
此操作在自动化运行手册中的步骤子集上进行迭代。您可以选择 do while 或 for each 样式循环。要构造 do
while 循环,请使用 LoopCondition 输入参数。要构造 for each 循环,请使用 Iterators 和 IteratorDataType 输入参数。使用 aws:loop 操作时,请仅指定 Iterators 或 LoopCondition 输入参数。最大迭代次数为 100。
onCancel 属性仅可用于在循环中定义的步骤。aws:loop 操作不支持 onCancel 属性。onFailure 属性可用于 aws:loop 操作,但只有在出现导致该步骤失败的意外错误时使用该属性。如果您为循环中的步骤定义 onFailure 属性,则 aws:loop 操作将继承这些属性,并在出现故障时相应做出反应。
示例
以下是如何构造不同类型的循环操作的示例。
输入
输入如下。
- 迭代器
-
要迭代的步骤的项目列表。迭代器的最大数为 100。
类型:StringList
必需:否
- IteratorDataType
-
用于指定
Iterators数据类型的可选参数。可将此参数的值与Iterators输入参数一起提供。如果您没有为此参数和Iterators指定值,则必须为LoopCondition参数指定值。类型:字符串
有效值:Boolean | Integer | String | StringMap
默认:字符串
必需:否
- LoopCondition
-
由
Variable和要评估的运算符条件组成。如果您没有为此参数指定值,则必须为Iterators和IteratorDataType参数指定值。您可以通过组合使用And、Not和Or运算符来使用复杂的运算符评估。循环中的步骤完成后会对条件进行评估。如果条件为true并且尚未达到MaxIterations值,则循环中的步骤将再次运行。运算符条件如下:字符串运算
-
字符串等于
-
EqualsIgnoreCase
-
StartsWith
-
EndsWith
-
包含
数值运算
-
NumericEquals
-
NumericGreater
-
NumericLesser
-
NumericGreaterOrEquals
-
NumericLesser
-
NumericLesserOrEquals
布尔运算
-
BooleanEquals
类型:StringMap
必需:否
-
- MaxIterations
-
循环中步骤运行的最大次数。一旦达到为此输入指定的值,即使
LoopCondition仍是true,或者Iterators参数中仍然存在对象,循环也会停止运行。类型:整数
有效值:1-100
必需:否
- 步骤
-
要在循环中运行的步骤列表。这些功能类似于嵌套运行手册。在这些步骤中,您可以使用语法
{{loopStepName.CurrentIteratorValue}}访问for each循环的当前迭代器值。您还可以使用语法{{loopStepName.CurrentIteration}}访问两种循环类型的当前迭代的整数值。类型:步骤列表
必需:是
输出
- CurrentIteration
-
当前循环迭代为整数。迭代值从 1 开始。
类型:整数
- CurrentIteratorValue
-
当前迭代器的值为字符串。此输出仅存在于
for each循环中。类型:字符串