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
Variable
y una condición de operador a evaluar. Si no especifica un valor para este parámetro, debe especificar un valor para los parámetrosIterators
yIteratorDataType
. Puede utilizar evaluaciones de operadores complejas mediante una combinación de operadoresAnd
,Not
yOr
. La condición se evalúa una vez completados los pasos del ciclo. Si la condición estrue
y el valorMaxIterations
no 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
LoopCondition
aún estrue
o 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 each
mediante 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