As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Tipos de cronograma no Agendador do EventBridge
O tópico a seguir descreve os diferentes tipos de agendamento que o Agendador do Amazon EventBridge aceita, bem como a forma como o Agendador do EventBridge lida com o horário de verão e o agendamento em diferentes fusos horários. Você pode escolher entre três tipos de agendamento ao configurar seu agendamento: agendamentos baseados em taxas, em cron e horários únicos.
Tanto os agendamentos baseados em taxas quanto os baseados em cron são recorrentes. Você configura cada tipo de agendamento recorrente usando uma expressão de agendamento para o tipo de agendamento que você deseja configurar e especificando um fuso horário no qual o Agendador do EventBridge avalia a expressão.
Um agendamento único é um agendamento que invoca um destino somente uma vez. Você configura um agendamento único ao especificar a hora, a data e o fuso horário em que o Agendador do EventBridge avalia o agendamento.
nota
Todos os tipos de agendamento no Agendador do EventBridge invocam seus destinos com precisão de 60 segundos. Isso significa que, se você definir seu cronograma para ser executado à 1:00, ela invocará a API de destino entre 1:00:00 e 1:00:59, supondo que não haja uma janela de tempo flexível definida.
Use as seções a seguir para aprender sobre como configurar expressões de agendamento para cada tipo de agendamento recorrente e como configurar um agendamento único no Agendador do EventBridge.
Tópicos
Agendamentos baseados em taxas
Um agendamento baseado em taxas começa após a data de início que você especificou para seu agendamento e é executado com uma taxa regular que você define até a data de término do agendamento. Você pode configurar os casos de uso mais comuns de agendamento recorrente usando um agendamento baseado em taxas. Por exemplo, se você quiser um agendamento que invoque sua meta a cada 15 minutos, uma vez a cada duas horas ou uma vez a cada cinco dias, você pode usar um agendamento baseado em taxas para conseguir isso. Você configura um agendamento baseado em taxa usando uma expressão rate.
Com agendamentos baseados em taxas, você usa a propriedade StartDate para definir a primeira ocorrência do agendamento. Se você não fornecer uma StartDate para um agendamento baseado em taxas, seu agendamento começará a invocar a meta imediatamente.
As expressões de taxa têm dois campos obrigatórios separados por um espaço em branco, conforme mostrado a seguir.
Sintaxe
rate(valueunit)
- valor
-
Um número positivo.
- unidade
-
A unidade de tempo em que você deseja que seu agendamento invoque sua meta.
Entradas válidas:
minutes|hours|days
Exemplos
O exemplo a seguir mostra como usar expressões de taxa com o comando AWS CLI create-schedule para configurar um agendamento baseado em taxas. Este exemplo cria um agendamento que é executado a cada cinco minutos e entrega uma mensagem para uma fila do Amazon SQS, usando o tipo de destino de SqsParameters modelado.
Como esse exemplo não define um valor para o parâmetro --start-date, o agendamento começa a invocar seu destino imediatamente após você criá-lo e ativá-lo.
$aws scheduler create-schedule --schedule-expression 'rate(5 minutes)' --nameschedule-name\ --target '{"RoleArn": "role-arn", "Arn": "QUEUE_ARN", "Input": "TEST_PAYLOAD" }' \ --flexible-time-window '{ "Mode": "OFF"}'
Agendamentos baseados em cron
Uma expressão cron cria um agendamento recorrente e refinado que é executado em um horário específico de sua escolha. O Agendador do EventBridge aceita a configuração de horários baseados em cron no Horário Coordenado Universal (UTC) ou no fuso horário que você especifica ao criar seu agendamento. Com agendamentos baseados em cron, você tem mais controle sobre quando e com que frequência seu agendamento é executado. Use agendamentos baseados em cron quando precisar de um agendamento de recorrência personalizada que não seja aceita por uma das expressões de taxa do Agendador do EventBridge. Por exemplo, é possível criar um agendamentos baseados em cron que seja executada às 8h00 PST na primeira segunda-feira de cada mês. Você configura um agendamento baseado em cron usando uma expressão cron.
Uma expressão cron consiste em cinco campos obrigatórios separados por espaço em branco: minutos, horas, dia do mês, mês, dia da semana e um campo opcional, ano, conforme mostrado a seguir.
Sintaxe
cron(minuteshoursday-of-monthmonthday-of-weekyear)
| 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
Wno campo Dia do mês especifica um dia da semana. No campo Dia do mês,3Wespecifica 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.
Exemplos
O exemplo a seguir mostra como usar expressões de taxa com o comando AWS CLI create-schedule para configurar uma programação baseada em taxas. Este exemplo cria um agendamento que é executado às 10h15 UTC+0 na última sexta-feira de cada mês durante os anos de 2022 a 2023 e entrega uma mensagem para uma fila do Amazon SQS, usando o tipo de destino modelado SqsParameters.
$aws scheduler create-schedule --schedule-expression "cron(15 10 ? * 6L 2022-2023)" --nameschedule-name\ --target '{"RoleArn": "role-arn", "Arn": "QUEUE_ARN", "Input": "TEST_PAYLOAD" }' \ --flexible-time-window '{ "Mode": "OFF"}'
Programações únicas
Um agendamento único invoca um destino somente uma vez na data e hora que você especificar. O Agendador do EventBridge aceita agendamentos baseados em cron no Horário Coordenado Universal (UTC) ou no fuso horário que você especifica ao criar seu agendamento.
nota
Um agendamento único ainda conta na cota da sua conta depois de concluir a execução e a invocação de sua meta. Recomendamos excluir seus agendamentos únicos depois que eles concluírem a execução.
Você configura um agendamento único usando uma expressão at. Uma expressão at consiste na data e hora em que você deseja que o Agendador do EventBridge invoque sua agenda, conforme mostrado a seguir.
Sintaxe
at(yyyy-mm-ddThh:mm:ss)
Quando você configura um agendamento único, o Agendador do EventBridge ignora a StartDate e a EndDate e você especifica para o agendamento.
Exemplos
O exemplo a seguir mostra como usar expressões at com o comando AWS CLI create-schedule para configurar um agendamento de uma ocasião. Este exemplo cria um agendamento que é executado uma vez às 13:00 no fuso horário UTC-8 em 20 de novembro de 2022 e entrega uma mensagem para uma fila do Amazon SQS, usando o tipo de destino modelado de SqsParameters.
$aws scheduler create-schedule --schedule-expression "at(2022-11-20T13:00:00)" --nameschedule-name\ --target '{"RoleArn": "role-arn", "Arn": "QUEUE_ARN", "Input": "TEST_PAYLOAD" }' \ --schedule-expression-timezone "America/Los_Angeles" --flexible-time-window '{ "Mode": "OFF"}'
Fusos horários no Agendador do EventBridge
O Agendador do EventBridge aceita a configuração de agendamentos baseados únicos e baseados em cron em qualquer fuso horário que você especificar. O Agendador do EventBridge usa o banco de dados de fuso horário
Com a AWS CLI, você pode definir o fuso horário no qual deseja que o Agendador do EventBridge avalie seu agendamento usando o parâmetro --schedule-expression-timezone. Por exemplo, o comando a seguir cria um agendamento baseado em cron que invoca um destino modelo do Amazon SQS de SendMessage em America/New_York todos os dias às 8h30.
$aws scheduler create-schedule --schedule-expression "cron(30 8 * * ? *)" --name schedule-in-est \ --target '{"RoleArn": "role-arn", "Arn": "QUEUE_ARN", "Input": "This schedule runs in the America/New_York time zone." }' \ --schedule-expression-timezone "America/New_York" --flexible-time-window '{ "Mode": "OFF"}'
Horário de verão no Agendador do EventBridge
O Agendador do EventBridge ajusta automaticamente seu agendamento para o horário de verão. Quando o tempo avança na primavera, se uma expressão cron cair em uma data e hora inexistentes, a invocação do agendamento será ignorada. Quando o tempo muda para trás no outono, seu agendamento é executado apenas uma vez e não repete sua invocação. As invocações a seguir ocorrem normalmente na data e hora especificadas.
O Agendador do EventBridge ajusta seu agendamento de acordo com o fuso horário especificado ao criar o agendamento. Se você configurar um agendamento em America/New_York, seu agendamento será ajustado quando a hora mudar nesse fuso horário, enquanto um agendamento em America/Los_Angeles será ajustado três horas depois, quando a hora mudar na costa oeste.
Para horários baseados em taxas que usam days como unidade, por exemplo rate(1 days), days representa uma duração de 24 horas no relógio. Isso significa que quando o horário de verão faz com que um dia diminua para 23 horas ou se estenda para 25 horas, o Agendador do EventBridge ainda avalia a expressão rate 24 horas após a última invocação do agendamento.
nota
Alguns fusos horários não observam o horário de verão, de acordo com as regras e regulamentos locais. Se você criar um agendamento em um fuso horário que não observe o horário de verão, o Agendador do EventBridge não ajustará seu agendamento. Os ajustes do horário de verão não se aplicam aos horários no horário coordenado universal (UTC).
Exemplo
Considere um cenário em que você cria um agendamento usando a seguinte expressão cron em America/Los_Angeles: cron(30 2 * * ? *). Esse agendamento é executado todos os dias às 2h30 no fuso horário especificado.
-
Adiantamento na primavera: Quando o horário é adiantado na primavera, das 1h59 às 3h, o Agendador do EventBridge ignora a invocação do agendamento naquele dia e retoma a execução do agendamento normalmente no dia seguinte.
-
Atraso no outono: Quando o horário é atrasado no outono, das 2h59 às 2h, o Agendador do EventBridge executa o agendamento apenas uma vez às 2h30 antes da ocorrência do turno, mas não repete a invocação do agendamento novamente às 2h30 após a mudança de horário.