Uso de expresiones cron y de frecuencia para programar reglas en Amazon EventBridge
Al crear una regla programada en EventBridge, puede especificar un patrón de programación que determine cuándo ejecutará EventBridge la regla:
Utilice una expresión cron para ejecutar la regla en fechas y horas específicas.
Utilice una expresión de frecuencia para ejecutar la regla a intervalos regulares.
Expresiones cron
Las expresiones Cron tienen seis campos obligatorios, que están separados por un espacio en blanco.
Sintaxis
cron(fields)
| Campo | Valores | Caracteres comodín |
|---|---|---|
|
Minutos |
0-59 |
, - * / |
|
Horas |
0-23 |
, - * / |
|
Día del mes |
1-31 |
, - * ? / L W |
|
Mes |
1-12 o JAN-DEC |
, - * / |
|
Día de la semana |
1-7 o SUN-SAT |
, - * ? L # |
|
Año |
1970-2199 |
, - * / |
Caracteres comodín
-
El carácter comodín , (coma) incluye valores adicionales. En el campo Mes, JAN, FEB, MAR incluiría enero, febrero y marzo.
-
El carácter comodín - (guion) especifica los intervalos. En el campo Día, 1-15 incluiría los días del 1 al 15 del mes especificado.
-
El * (asterisco) incluye todos los valores del campo. En el campo Horas, * incluye cada hora. No puede utilizar * en los campos Día del mes y Día de la semana. Si lo utiliza en uno, debe utilizar ? en el otro.
-
El comodín / (barra inclinada) especifica incrementos. En el campo Minutos, puede escribir 1/10 para especificar cada décimo minuto, empezando desde el primer minuto de la hora (por ejemplo, los minutos 11, 21 y 31, etc.).
-
El comodín ? (signo de interrogación) especifica uno u otro. En el campo Día del mes puede escribir 7 y si cualquier día de la semana fuera aceptable, podría escribir ? en el campo Día de la semana.
-
El comodín L en los campos Día del mes o Día de la semana especifica el último día del mes o de la semana.
-
El comodín
Wen el campo Día del mes especifica un día de la semana. En el campo Día del mes,3Wespecifica el día de la semana más cercano al tercer día del mes. -
El comodín # en el campo Día de la semana especifica una instancia concreta del día de la semana de un mes. Por ejemplo, 3#2 sería el segundo martes del mes: el número 3 hace referencia al martes, ya que es el tercer día de la semana en el calendario anglosajón, mientras que 2 hace referencia al segundo día de ese tipo dentro de un mes.
nota
Si utiliza un carácter '#', solo puede definir una expresión en el campo Día de la semana. Por ejemplo,
"3#1,6#3"no es válido porque se interpreta como dos expresiones.
Limitaciones
-
No se pueden especificar los campos Día del mes y Día de la semana en la misma expresión Cron. Si especifica un valor o un * (asterisco) en uno de los campos, debe utilizar un ? (signo de interrogación) en el otro.
-
No se admiten las expresiones Cron que conducen a frecuencias superiores a 1 minuto.
Ejemplos
Puede utilizar las siguientes cadenas cron de ejemplo al crear una regla con programa.
| Minutos | Horas | Día del mes | Mes | Día de la semana | Año | Significado |
|---|---|---|---|---|---|---|
|
0 |
10 |
* |
* |
? |
* |
Ejecutar a las 10:00 h (UTC+0) todos los días |
|
15 |
12 |
* |
* |
? |
* |
Ejecutar a las 12:15 h (UTC+0) todos los días |
|
0 |
18 |
? |
* |
MON-FRI |
* |
Ejecutar a las 18:00 h (UTC+0) de lunes a viernes |
|
0 |
8 |
1 |
* |
? |
* |
Ejecutar a las 8:00 h (UTC+0) cada primer día del mes |
|
0/15 |
* |
* |
* |
? |
* |
Ejecutar cada 15 minutos |
|
0/10 |
* |
? |
* |
MON-FRI |
* |
Ejecutar cada 10 minutos de lunes a viernes |
|
0/5 |
8-17 |
? |
* |
MON-FRI |
* |
Ejecutar cada 5 minutos de lunes a viernes entre las 8:00 y las 17:55 h (UTC+0) |
|
0/30 |
20-2 |
? |
* |
MON-FRI |
* |
Ejecutar cada 30 minutos de lunes a viernes, entre las 22:00 h del día de inicio y las 2:00 h del día siguiente (UTC) Ejecutar de 12:00 a 2:00 h el lunes por la mañana (UTC). |
En el siguiente ejemplo se crea una regla que se ejecuta cada día a las 12:00 h UTC+0.
aws events put-rule --schedule-expression "cron(0 12 * * ? *)" --nameMyRule1
En el siguiente ejemplo se crea una regla que se ejecuta cada día a las 14:05 y a las 14:35 h UTC+0.
aws events put-rule --schedule-expression "cron(5,35 14 * * ? *)" --nameMyRule2
El siguiente ejemplo crea una regla que se activa a las 10:15 UTC+0 el último viernes de cada mes, entre los años 2019 y 2022.
aws events put-rule --schedule-expression "cron(15 10 ? * 6L 2019-2022)" --nameMyRule3
Expresiones de frecuencia
Una expresión de frecuencia comienza cuando se crea una regla de evento programado y, a continuación, se ejecuta en una programación definida.
Las expresiones de frecuencia tienen dos campos obligatorios, que están separados por un espacio en blanco.
Sintaxis
rate(value unit)
- valor
-
Un número positivo.
- unidad
-
La unidad de tiempo. Se requieren diferentes unidades para valores de 1, como
minute, y valores superiores a 1, comominutes.Valores válidos: minuto | minutos | hora | horas | día | días
Limitaciones
Si el valor es igual a 1, entonces la unidad debe ser singular. Si el valor es mayor que 1, la unidad debe ser plural. Por ejemplo, la frecuencia(1 horas) y la frecuencia(5 hora) no son válidas, pero la frecuencia(1 hora) y la frecuencia(5 horas) son válidas.
Ejemplos
Los siguientes ejemplos muestran cómo utilizar expresiones de frecuencia con el comando put-rule de la AWS CLI. El primer ejemplo activa la regla cada minuto, el siguiente ejemplo la activa cada cinco minutos, el tercer ejemplo la activa una vez cada hora y el último ejemplo la activa una vez al día.
aws events put-rule --schedule-expression "rate(1 minute)" --nameMyRule2
aws events put-rule --schedule-expression "rate(5 minutes)" --nameMyRule3
aws events put-rule --schedule-expression "rate(1 hour)" --nameMyRule4
aws events put-rule --schedule-expression "rate(1 day)" --nameMyRule5