View a markdown version of this page

Tipos de EventBridge agendamento no Scheduler - EventBridge Agendador

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 EventBridge agendamento no Scheduler

O tópico a seguir descreve os diferentes tipos de EventBridge agendamento que o Amazon Scheduler suporta, bem como a forma como o EventBridge Scheduler lida com o horário de verão e a programação 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 EventBridge Agendador 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 EventBridge Agendador avalia o agendamento.

nota

Todos os tipos de EventBridge agendamento no Scheduler invocam seus alvos 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 Scheduler. EventBridge

Rate-based horários

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 cronograma 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 cronograma 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(value unit)
valor

Um número positivo.

unidade

A unidade de tempo em que você deseja que sua agenda invoque sua meta.

Entradas válidas: minutes | hours | days

Exemplos

O exemplo a seguir mostra como usar expressões de taxa com o AWS CLI create-schedule comando para configurar uma programação baseada 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)' --name schedule-name \ --target '{"RoleArn": "role-arn", "Arn": "QUEUE_ARN", "Input": "TEST_PAYLOAD" }' \ --flexible-time-window '{ "Mode": "OFF"}'

Cron-based horários

Uma expressão cron cria uma programação recorrente refinada que é executada em um horário específico de sua escolha. EventBridge O Scheduler suporta a configuração de agendas baseadas em cron no Tempo Coordenado Universal (UTC) ou no fuso horário que você especifica ao criar sua agenda. Com agendamentos baseados em cron, você tem mais controle sobre quando e com que frequência seu agendamento é executado. Use agendas baseadas em cron quando precisar de uma programação de recorrência personalizada que não seja suportada por uma das expressões de taxa do EventBridge Scheduler. 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 seis campos obrigatórios separados por espaço em branco: minutos, horas, dia do mês, mês, dia da semana e ano, conforme mostrado a seguir.

Sintaxe

cron(minutes hours day-of-month month day-of-week year)
Campo Valores Curingas

minutos

0-59

, - * /

Horas

0-23

, - * /

Day-of-month

1-31

, - * ? / L W

Mês

1-12 ou JAN-DEC

, - * /

Day-of-week

1-7 ou SUN-SAT

, - * ? 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 Day-of-week campos Day-of-month e. 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, começando pelo primeiro minuto da hora (por exemplo, 11º, 21º e 31º minutos e assim por diante).

  • O curinga ? (interrogação) especifica qualquer um. No Day-of-month campo você poderia inserir 7 e se algum dia da semana fosse aceitável, você poderia inserir? no Day-of-week campo.

  • O caractere curinga L nos Day-of-week campos Day-of-month ou especifica o último dia do mês ou da semana.

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

  • O caractere curinga # no Day-of-week campo especifica uma determinada instância do dia da semana especificado em 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 cron com o AWS CLI create-schedule comando para configurar uma programação baseada em cron. 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)" --name schedule-name \ --target '{"RoleArn": "role-arn", "Arn": "QUEUE_ARN", "Input": "TEST_PAYLOAD" }' \ --flexible-time-window '{ "Mode": "OFF"}'

One-time horários

Um agendamento único invocará um alvo somente uma vez na data e hora que você especificar usando uma data válida e um carimbo de data/hora. EventBridge O Scheduler oferece suporte ao agendamento no Horário Coordenado Universal (UTC) ou no fuso horário que você especifica ao criar sua agenda.

nota

Uma programação única 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 na hora em que você deseja que o EventBridge Scheduler invoque sua agenda, conforme mostrado a seguir.

Sintaxe

at(yyyy-mm-ddThh:mm:ss)

Quando você configura um EventBridge agendamento único, o Agendador ignora o StartDate e EndDate você especifica para o agendamento.

Exemplos

O exemplo a seguir mostra como usar expressões at com o AWS CLI create-schedule comando para configurar um agendamento único. Este exemplo cria uma programação que é executada uma vez às 13h do UTC-8 dia 20 de novembro de 2022 e entrega uma mensagem para uma fila do Amazon SQS, usando o SqsParameters tipo de destino modelado.

$ aws scheduler create-schedule --schedule-expression "at(2022-11-20T13:00:00)" --name schedule-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 EventBridge Scheduler

EventBridge O Scheduler suporta a configuração de agendamentos únicos e baseados em cron em qualquer fuso horário que você especificar. EventBridge O Scheduler usa o banco de dados de fuso horário mantido pela Internet Assigned Numbers Authority (IANA).

Com o AWS CLI, você pode definir o fuso horário no qual deseja que o EventBridge Scheduler avalie sua agenda usando o --schedule-expression-timezone parâmetro. Por exemplo, o comando a seguir cria uma programação baseada em cron que invoca um alvo modelo do Amazon SQS America/Newem _York todos os SendMessage 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 EventBridge Scheduler

EventBridge O agendador ajusta automaticamente sua programação 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.

EventBridge O agendador ajusta sua agenda de acordo com o fuso horário especificado ao criar a agenda. Se você configurar uma programação em America/New_York, sua programação será ajustada quando a hora mudar nesse fuso horário, enquanto uma programação em America/Los_Angeles será ajustada 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 EventBridge Scheduler ainda avalia a expressão da taxa 24 horas após a última invocação da programação.

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 uma programação em um fuso horário que não observe o horário de verão, o EventBridge Scheduler não ajustará sua programação. Daylight-savings os ajustes de horário não se aplicam aos horários no horário coordenado universal (UTC).

Exemplo

Considere um cenário em que você cria um cronograma 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.

  • Spring-forward— Quando o horário avança na primavera, das 1h59 às 3h, o EventBridge Scheduler pula a invocação da programação naquele dia e retoma a execução da programação normalmente no dia seguinte.

  • Fall-back— Quando o horário muda para trás no outono, das 2h59 às 2h, o EventBridge Scheduler executa a programação apenas uma vez às 2h30 antes da ocorrência do turno, mas não repete a invocação da programação novamente às 2h30 após a mudança de horário.