aws:loop — Repita los pasos en una automatización
Esta acción se repite en un subconjunto de pasos de un manual de procedimientos de automatización. Puede elegir un bucle de estilo do while o for each. Para construir un bucle do
while, utilice el parámetro de entrada LoopCondition. Para construir un bucle for each, utilice los parámetros de entrada Iterators y IteratorDataType. Cuando utilice una acción aws:loop, especifique únicamente el parámetro de entrada Iterators o LoopCondition. El número máximo de veces que se van a ejecutar es de 100.
La propiedad onCancel solo se puede utilizar para los pasos definidos dentro de un bucle. La propiedad onCancel no es compatible con la acción aws:loop. La propiedad onFailure se puede usar para una acción aws:loop, pero solo se usará si se produce un error inesperado que provoque un error en el paso. Si define propiedades onFailure para los pasos de un bucle, la acción aws:loop hereda esas propiedades y reacciona en consecuencia cuando se produce un error.
Ejemplos
A continuación se muestran ejemplos de cómo construir los distintos tipos de acciones de bucle.
Entrada
La entrada es la siguiente.
- Iteradores
-
La lista de elementos sobre los que se deben iterar los pasos. El número máximo de iteradores es 100.
Tipo: StringList
Requerido: no
- IteratorDataType (Tipo de datos de iteradores)
-
Un parámetro opcional para especificar el tipo de datos del
Iterators. Se puede proporcionar un valor para este parámetro junto con el parámetro de entradaIterators. Si no especifica un valor para este parámetro yIterators, luego debe especificar un valor para el parámetroLoopCondition.Tipo: cadena
Valores válidos: Boolean | Integer | String | StringMap
Predeterminado: String
Requerido: no
- LoopCondition
-
Consta de una
Variabley una condición de operador a evaluar. Si no especifica un valor para este parámetro, debe especificar un valor para los parámetrosIteratorsyIteratorDataType. Puede utilizar evaluaciones de operadores complejas mediante una combinación de operadoresAnd,NotyOr. La condición se evalúa una vez completados los pasos del ciclo. Si la condición estruey el valorMaxIterationsno se ha alcanzado, los pasos del bucle se vuelven a ejecutar. Las condiciones del operador son las siguientes:Operaciones de cadena
-
StringEquals
-
EqualsIgnoreCase
-
StartsWith
-
EndsWith
-
Contiene
Operaciones numéricas
-
NumericEquals
-
NumericGreater
-
NumericLesser
-
NumericGreaterOrEquals
-
NumericLesser
-
NumericLesserOrEquals
Operación booleana
-
BooleanEquals
Tipo: StringMap
Requerido: no
-
- MaxIterations (Iteraciones máximas)
-
Número máximo de veces que se van a ejecutar los pasos del ciclo. Una vez que se alcanza el valor especificado para esta entrada, el bucle deja de ejecutarse incluso si
LoopConditionaún estrueo si quedan objetos en el parámetroIterators.Tipo: entero
Valores válidos: 1 - 100
Requerido: no
- Pasos
-
La lista de pasos que se van a ejecutar en el bucle. Funcionan como un manual de procedimientos anidado. En estos pasos, puede acceder al valor del iterador actual de un bucle
for eachmediante la sintaxis{{loopStepName.CurrentIteratorValue}}. También puede acceder a un valor entero de la iteración actual para ambos tipos de bucles mediante la sintaxis{{loopStepName.CurrentIteration}}.Tipo: lista de pasos
Obligatorio: sí
Salida
- Currentiteration (Iteración actual)
-
La iteración del bucle actual como número entero. Los valores de iteración comienzan en 1.
Tipo: entero
- CurrentiteratorValue (Valor del iterador actual)
-
El valor del iterador actual como una cadena. Esta salida solo está presente en los bucles
for each.Tipo: cadena