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
循环中。类型:字符串