aws:loop
— オートメーション内のステップを反復処理します。
このアクションは、オートメーションランブック内のステップのサブセットを反復処理します。do while
または for each
スタイルループを選択できます。do
while
ループを作成するには、LoopCondition
入力パラメーターを使用します。for each
ループを作成するには、Iterators
と IteratorDataType
入力パラメーターを使用します。aws:loop
アクションを使用するときは、Iterators
または LoopCondition
入力パラメータのみを指定してください。最大反復回数は 100 です。
onCancel
プロパティを使用できるのは、ループ内で定義されたステップのみです。onCancel
プロパティは aws:loop
アクションではサポートされていません。aws:loop
アクションに onFailure
プロパティを使用することはできますが、これが使用されるのは、ステップを失敗させる予期しないエラーが発生した場合のみです。ループ内のステップに onFailure
プロパティを定義すると、aws:loop
アクションがこれらのプロパティを継承し、失敗した場合に適切に対応します。
例
さまざまなタイプのループアクションの作成方法の例を以下に示します。
入力
入力は次のとおりです。
- イテレーター
-
ステップを反復処理する項目のリスト。最大反復回数は 100 です。
タイプ: StringList
必須:いいえ
- イテレータ/データタイプ
-
Iterators
のデータ型を指定するオプションのパラメータ。このパラメータの値は、Iterators
入力パラメータとともに提供できます。このパラメータ値とIterators
を指定しない場合、LoopCondition
パラメータ値を指定する必要があります。型: 文字列
有効な値: ブール値 | 整数 | 文字列 | StringMap
デフォルト: 文字列
必須:いいえ
- ループ条件
-
Variable
と評価する演算子条件で構成されます。このパラメータ値を指定しない場合、Iterators
とIteratorDataType
パラメータ値を指定する必要があります。And
、Not
とOr
演算子の組み合わせを使用して、複雑な演算子の評価を使用できます。条件はループ内のステップが完了した後に評価されます。条件がtrue
で、MaxIterations
値に達していない場合は、ループ内のステップが再び実行されます。オペレータの条件は以下のとおりです。文字列演算子
-
StringEquals
-
EqualsIgnoreCase
-
StartsWith
-
EndsWith
-
Contains
数値演算子
-
NumericEquals
-
NumericGreater
-
NumericLesser
-
NumericGreaterOrEquals
-
NumericLesser
-
NumericLesserOrEquals
ブール演算子
-
BooleanEquals
型: StringMap
必須:いいえ
-
- 最大反復回数
-
ループ内のステップの最大実行回数。この入力に指定された値に達すると、
LoopCondition
がtrue
でも、またはIterators
パラメータにオブジェクトが残っていても、ループの実行は停止します。型: 整数
有効な値: 1~100
必須:いいえ
- ステップ
-
ループで実行するステップのリスト。これらはネストされたランブックのように機能します。これらのステップでは、
{{loopStepName.CurrentIteratorValue}}
構文を使用してfor each
ループの現在のイテレーター値にアクセスできます。{{loopStepName.CurrentIteration}}
構文を使用して、両方のループタイプの現在の反復の整数値にアクセスすることもできます。タイプ: ステップのリスト
必須: はい
出力
- CurrentIteration
-
現在のループ反復を整数で表したもの。反復値は 1 から始まります。
型: 整数
- 現在のイテレータ値
-
現在のイテレータの値を文字列で表したもの。この出力は
for each
ループ内にのみ存在します。型: 文字列