Usar expressões rate e cron para programar regras no Amazon EventBridge - Amazon EventBridge

Usar expressões rate e cron para programar regras no Amazon EventBridge

Ao criar uma regra programada no EventBridge, você pode especificar um padrão de cronograma que determina quando o EventBridge executa a regra:

  • Use uma expressão cron para executar a regra em horários e datas específicos.

  • Use uma expressão rate para executar a regra em intervalos regulares.

Expressões do cron

Expressões cron têm seis campos obrigatórios, que são separados por um espaço em branco.

Sintaxe

cron(fields)
Campo Valores Curingas

minutos

0-59

, - * /

Horas

0-23

, - * /

Dia do mês

1-31

, - * ? / L W

Mês

1-12 ou JAN-DEZ

, - * /

Dia da semana

1-7 ou DOM-SÁB

, - * ? L #

Ano

1970-2199

, - * /

Curingas
  • A , (vírgula) curinga inclui valores adicionais. No campo Mês, JAN, FEV, MAR inclui janeiro, fevereiro e março.

  • O - (traço) curinga especifica intervalos. No campo Dia, 1-15 inclui os dias 1 a 15 do mês especificado.

  • O * (asterisco) curinga inclui todos os valores no campo. No campo Hours (Horas), * inclui todas as horas. Você não pode usar * nos campos Dia do mês e Dia da semana. Se você usá-lo em um deles, utilize ? no outro.

  • A / (barra) curinga especifica incrementos. No campo Minutos, você pode inserir 1/10 para especificar cada décimo minuto a partir do primeiro minuto da hora (por exemplo, o 11º, 21º e 31º minuto, etc.).

  • O curinga ? (interrogação) especifica qualquer um. No campo Dia do mês, você pode inserir 7 e qualquer dia da semana for aceitável, pode inserir ? no campo Dia da semana.

  • O curinga L nos campos Dia do mês ou Dia da semana especifica o último dia do mês ou da semana.

  • O curinga W no campo Dia do mês especifica um dia da semana. No campo Dia do mês, 3W especifica o dia mais próximo do terceiro dia da semana do mês.

  • O curinga # no campo Dia da semana especifica uma determinada instância do dia da semana definido dentro de um mês. Por exemplo, 3#2 seria a segunda terça-feira do mês: o 3 refere-se a terça-feira, porque é o terceiro dia de cada semana, e o 2 refere-se ao segundo dia desse tipo dentro do mês.

    nota

    Se você usar um caractere “#”, poderá definir apenas uma expressão no campo do dia da semana. Por exemplo, o valor "3#1,6#3" não é válido porque é interpretado como duas expressões.

Limitações
  • Você não pode especificar os campos Dia do mês e Dia da semana na mesma expressão cron. Se especificar um valor ou * (asterisco) em um dos campos, deverá usar ? (ponto de interrogação) no outro.

  • As expressões Cron que levam a taxas mais rápidas do que 1 minuto não têm suporte.

Exemplos

Você pode usar as seguintes sequências de caracteres cron de exemplo ao criar uma regra com programação.

Minutos Horas Dia do mês Mês Dia da semana Ano Significado

0

10

*

*

?

*

Executada às 10h00 (UTC+0) todos os dias

15

12

*

*

?

*

Executada às 12h15 (UTC+0) todos os dias

0

18

?

*

SEG-SEX

*

Executada às 18h (UTC+0) de segunda a sexta

0

8

1

*

?

*

Executada às 8h (UTC+0) todo primeiro dia do mês

0/15

*

*

*

?

*

Executada a cada 15 minutos

0/10

*

?

*

SEG-SEX

*

Executada a cada 10 minutos de segunda a sexta

0/5

8-17

?

*

SEG-SEX

*

Executada a cada cinco minutos, de segunda a sexta, entre 8h e 17h55 (UTC+0)

0/30

20-2

?

*

SEG-SEX

*

Executada a cada 30 minutos, de segunda a sexta-feira, das 22h do dia inicial às 2h do dia seguinte (UTC)

Executada das 12h às 2h na manhã de segunda-feira (UTC).

O seguinte exemplo cria uma regra que é executada todos os dias às 12h UTC+0.

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

O seguinte exemplo cria uma regra que é executada todos os dias, às 14h05 e 14h35 UTC+0.

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

O exemplo a seguir cria uma regra executada às 10h15 UTC+0 na última sexta-feira de cada mês durante os anos de 2019 a 2022.

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

Expressões rate

Uma expressão rate começa quando a regra de evento programado é criada e é executada em uma programação definida.

As expressões rate têm dois campos obrigatórios separados por um espaço em branco.

Sintaxe

rate(value unit)
valor

Um número positivo.

unidade

A unidade de tempo. Diferentes unidades são necessárias para valores de 1, como minute, e valores acima de 1, como minutes.

Valores válidos: minuto | minutos | hora | horas | dia | dias

Limitações

Se o valor for igual a 1, a unidade deverá ser singular. Se o valor for maior que 1, a unidade deverá ser plural. Por exemplo, as taxas (uma hora) e (cinco horas) não são válidas, mas as taxas (uma hora) e (cinco horas) são válidas.

Exemplos

Os exemplos a seguir mostram como usar expressões rate com o comando da AWS CLI put-rule. O primeiro exemplo aciona a regra a cada minuto, o segundo exemplo aciona a regra a cada cinco minutos, o próximo a aciona uma vez por hora e o terceiro exemplo a aciona uma vez por dia.

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