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ループ内にのみ存在します。型: 文字列