Programar expresiones para reglas - Amazon CloudWatch Events

Programar expresiones para reglas

nota

Amazon EventBridge es la forma preferida de administrar sus eventos. Amazon CloudWatch Events y EventBridge son el mismo servicio subyacente y la misma API, pero EventBridge ofrece más características. Los cambios que realice en CloudWatch o EventBridge aparecerán en cada consola. Para obtener más información, consulte Amazon EventBridge.

Puede crear reglas que se disparen automáticamente con una programación automatizada en CloudWatch Events mediante expresiones cron o de frecuencia. Todos los eventos programados utilizan la zona horaria UTC y la precisión mínima para programas es de 1 minuto.

CloudWatch Events admite expresiones cron y expresiones de frecuencia. Las expresiones rate son más fáciles de definir, pero no ofrecen el control preciso que proporcionan las expresiones cron. Por ejemplo, con una expresión cron, puede definir una regla que se active a una hora especificada de un determinado día de cada semana o mes. Por el contrario, las expresiones rate activan una regla a un ritmo regular, como una vez cada hora o una vez cada día.

nota

CloudWatch Events no proporciona precisión de segundo nivel en expresiones de programación. La mejor resolución al utilizar una expresión Cron es un minuto. Debido a la naturaleza distribuida de los servicios de destino y del CloudWatch Events, el retraso entre el momento en que la regla programada se activa y el momento en que el servicio de destino realiza la ejecución del recurso de destino puede ser de varios segundos. La regla programada se activa dentro de ese minuto, pero no en el segundo 0 preciso.

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

Minutes

0-59

, - * /

Hours

0-23

, - * /

Day-of-month

1-31

, - * ? / L W

Month

1-12 o JAN-DEC

, - * /

Day-of-week

1-7 o SUN-SAT

, - * ? / L #

Year

1970-2199

, - * /

Wildcards

  • El carácter comodín , (coma) incluye valores adicionales. En el campo Month, JAN, FEB, MAR incluiría enero, febrero y marzo.

  • El - (guion) especifica intervalos. En el campo Day, 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 Hours, * incluiría cada hora. No puede utilizar * en los campos Day-of-month (Día del mes) y Day-of-week (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 Minutes, 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 Day-of-month puede escribir 7 y si no se preocupó de qué día de la semana era el 7º, podría escribir ? en el campo Day-of-week.

  • El comodín L en los campos Day-of-month o Day-of-week especifica el último día del mes o de la semana.

  • El comodín W en el campo Day-of-month especifica un día de la semana. En el campo Day-of-month (Día del mes), 3W especifica el día de la semana más cercano al tercer día del mes.

  • El comodín # en el campo Day-of-week 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.

Restrictions

  • No se pueden especificar los campos Day-of-month y Day-of-week en la misma expresión Cron. Si especifica un valor (o un *) 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.

Examples

Puede utilizar las siguientes cadenas cron de ejemplo al crear una regla con programa.

Minutos Hours Día del mes Month Día de la semana Year Significado

0

10

*

*

?

*

Ejecutar a las 10:00 h (UTC) todos los días

15

12

*

*

?

*

Ejecutar a las 12.15 h (UTC) todos los días

0

18

?

*

MON-FRI

*

Ejecutar a las 18.00 h (UTC) de lunes a viernes

0

8

1

*

?

*

Ejecutar a las 8.00 horas (UTC) 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)

Los siguientes ejemplos muestran cómo utilizar expresiones Cron con el comando AWS CLIput-rule de la . El primer ejemplo crea una regla que se activa cada día a las 12.00 UTC.

aws events put-rule --schedule-expression "cron(0 12 * * ? *)" --name MyRule1

El siguiente ejemplo crea una regla que se activa cada día, a los 5 y 35 minutos después de las 14:00 UTC.

aws events put-rule --schedule-expression "cron(5,35 14 * * ? *)" --name MyRule2

El siguiente ejemplo crea una regla que se activa a las 10.15 UTC, el último viernes de cada mes, entre los años 2002 y 2005.

aws events put-rule --schedule-expression "cron(15 10 ? * 6L 2002-2005)" --name MyRule3

Expresiones de frecuencia

Una expresión de frecuencia comienza cuando se crea una regla de evento programado y, a continuación, se ejecuta en su programa definido.

Las expresiones de frecuencia tienen dos campos obligatorios. Los campos están separados por un espacio en blanco.

Sintaxis

rate(value unit)
value

Un número positivo.

unidad

La unidad de tiempo. Se requieren diferentes unidades para valores de 1, como minute, y valores superiores a 1, como minutes.

Valores válidos: minuto | minutos | hora | horas | día | días

Restrictions

Si el valor es igual a 1, entonces la unidad debe ser singular. Del mismo modo, para valores mayores que 1, la unidad debe ser plural. Por ejemplo, las frecuencias rate(1 hours) y rate(5 hour) no son válidas, pero rate(1 hour) y rate(5 hours) son válidas.

Examples

Los siguientes ejemplos muestran cómo utilizar expresiones de frecuencia con el comando AWS CLIput-rule de la . El primer ejemplo activa la regla cada minuto, el segundo ejemplo la activa cada 5 minutos, el tercero la activa una vez cada hora y el último la activa una vez al día.

aws events put-rule --schedule-expression "rate(1 minute)" --name MyRule2
aws events put-rule --schedule-expression "rate(5 minutes)" --name MyRule3
aws events put-rule --schedule-expression "rate(1 hour)" --name MyRule4
aws events put-rule --schedule-expression "rate(1 day)" --name MyRule5