Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
aws:loop
: itérer les étapes d’une automatisation
Cette action itère sur un sous-ensemble d’étapes dans un runbook d’Automatisation. Vous pouvez sélectionner un style boucle do while
ou for each
. Pour construire une boucle do
while
, utilisez le paramètre d’entrée LoopCondition
. Pour construire une boucle for each
, utilisez les paramètres d’entrée Iterators
et IteratorDataType
. Lorsque vous utilisez une action aws:loop
, spécifiez uniquement le paramètre d’entrée Iterators
ou LoopCondition
. Le nombre maximal d’itérations est de 100.
La propriété onCancel
ne peut être utilisée que pour les étapes définies dans une boucle. La propriété onCancel
n’est pas prise en charge pour l’action aws:loop
. La propriété onFailure
peut être utilisée pour une action aws:loop
, mais elle ne sera utilisée que si une erreur inattendue se produit et entraîne l’échec de l’étape. Si vous définissez des propriétés onFailure
pour les étapes d’une boucle, l’action aws:loop
hérite de ces propriétés et réagit en conséquence en cas d’échec.
Exemples
Les exemples suivants montrent comment construire les différents types d’actions de boucle.
Entrée
L'entrée est comme suit.
- Itérateurs
-
La liste des éléments sur lesquels les étapes doivent être itérées. Le nombre maximal d’itérateurs est de 100.
Type : StringList
Obligatoire : non
- IteratorDataType
-
Un paramètre facultatif permettant de spécifier le type de données du
Iterators
. Une valeur pour ce paramètre peut être fournie en même temps que le paramètre d’entréeIterators
. Si vous ne spécifiez aucune valeur pour ce paramètre etIterators
, vous devez alors spécifier une valeur pour le paramètreLoopCondition
.Type : String
Valeurs valides : Boolean | Integer | String | StringMap
Par défaut : String
Obligatoire : non
- LoopCondition
-
Comprend une
Variable
et une condition de l’opérateur à évaluer. Si vous ne spécifiez aucune valeur pour ce paramètre, vous devez alors spécifier des valeurs pour les paramètresIterators
etIteratorDataType
. Vous pouvez utiliser des évaluations d’opérateurs complexes en combinant les opérateursAnd
,Not
etOr
. La condition est évaluée une fois les étapes de la boucle terminées. Si la condition esttrue
et que la valeurMaxIterations
n’a pas été atteinte, les étapes de la boucle sont à nouveau exécutées. Les conditions de l’opérateur sont les suivantes :Opérations de chaîne
-
StringEquals
-
EqualsIgnoreCase
-
StartsWith
-
EndsWith
-
Contains
Opérations numériques
-
NumericEquals
-
NumericGreater
-
NumericLesser
-
NumericGreaterOrEquals
-
NumericLesser
-
NumericLesserOrEquals
Opération booléenne
-
BooleanEquals
Type : StringMap
Obligatoire : non
-
- MaxIterations
-
Le nombre maximal de fois où les étapes de la boucle sont exécutées. Une fois que la valeur spécifiée pour cette entrée est atteinte, la boucle cesse de fonctionner même si
LoopCondition
est encoretrue
ou s’il reste des objets dans le paramètreIterators
.Type : entier
Valeurs valides : de 1 à 100
Obligatoire : non
- Étapes
-
Liste des étapes à exécuter dans la boucle. Elles fonctionnent comme un runbook imbriqué. Au cours de ces étapes, vous pouvez accéder à la valeur actuelle de l’itérateur pour une boucle
for each
à l’aide de la syntaxe{{loopStepName.CurrentIteratorValue}}
. Vous pouvez également accéder à une valeur entière de l’itération en cours pour les deux types de boucle à l’aide de la syntaxe{{loopStepName.CurrentIteration}}
.Type : liste des étapes
Obligatoire : oui
Sortie
- CurrentIteration
-
L’itération de boucle en cours sous forme d’entier. Valeur des itérations commençant à 1.
Type : entier
- CurrentIteratorValue
-
Valeur de l’itérateur actuel sous forme de chaîne. Cette sortie n’est présente que dans les boucles
for each
.Type : String