本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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
參數的值。類型:字串
有效值:布爾 | 整數 | 字符串 | StringMap
預設:字串
必要:否
- LoopCondition
-
包含
Variable
和要評估的運算子條件。如果您不指定此參數的值,則您必須指定Iterators
和IteratorDataType
參數的值。您可以透過And
、Not
和Or
運算子的組合來使用複雜的運算子評估。在迴圈中的步驟完成後,就會評估條件。如果條件為true
且尚未達到MaxIterations
值,則迴圈中的步驟會再次執行。運算子條件如下:字串運算
-
StringEquals
-
EqualsIgnoreCase
-
StartsWith
-
EndsWith
-
包含
數值運算
-
NumericEquals
-
NumericGreater
-
NumericLesser
-
NumericGreaterOrEquals
-
NumericLesser
-
NumericLesserOrEquals
布林運算
-
BooleanEquals
類型: StringMap
必要:否
-
- MaxIterations
-
迴圈中步驟執行的最大次數。達到此輸入指定的值後,即使
LoopCondition
仍然true
,或Iterators
參數中仍有剩餘物件,迴圈也會停止執行。類型:整數
有效值:1 - 100
必要:否
- 步驟
-
在迴圈中執行的步驟清單。這些函數就像一個巢狀的執行手冊。在這些步驟中,您可以使用語法
for each
,存取{{loopStepName.CurrentIteratorValue}}
迴圈的目前迭代器值。您還可以使用語法{{loopStepName.CurrentIteration}}
,存取這兩個迴圈類型的目前迭代的整數值。類型:步驟清單
必要:是
輸出
- CurrentIteration
-
將目前迴圈迭代作為整數。迭代值從 1 開始。
類型:整數
- CurrentIteratorValue
-
做為字串的目前迭代器的值。此輸出僅存在於
for each
迴圈中。類型:字串