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 sua programação para ser executada1:00, ela invocará a meta API entre 1:00:00 e1:00:59, supondo que uma janela de tempo flexível não esteja 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

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(value unit)
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 AWS CLI create-schedule comando para configurar uma programação baseada em taxas. Este exemplo cria uma programação que é executada a cada cinco minutos e entrega uma mensagem para uma SQS fila da Amazon, usando o tipo de SqsParameters destino 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"}'

Agendamentos baseados em cron

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 agendamentos baseados 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 PSTna 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 day-of-month, horas day-of-week, mês e um campo opcional, 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

, - * /

D ay-of-month

1-31

, - * ? / L W

Mês

1-12 ou JAN - DEC

, - * /

D ay-of-week

1-7 ou SUN - SAT

, - * ? L #

Ano

1970-2199

, - * /

Curingas
  • A , (vírgula) curinga inclui valores adicionais. No campo Mês,JAN,FEB, 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 ay-of-week campos D ay-of-month e D. 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 ay-of-month campo D, você poderia inserir 7 e, se algum dia da semana fosse aceitável, você poderia inserir? no ay-of-week campo D.

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

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

  • O caractere curinga # no ay-of-week campo D 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 somente uma expressão no day-of-week campo. 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 uma programação que funciona à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 SQS fila da Amazon, usando o tipo de destino SqsParameters modelado.

$ 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"}'

Programações únicas

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

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 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, das 13h às UTC 8h, em 20 de novembro de 2022, e entrega uma mensagem para uma SQS fila da Amazon, usando o tipo de destino SqsParameters 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 Autoridade de Números Atribuídos da Internet (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 SQS SendMessage alvo modelo da Amazon na América/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 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 que você especifica ao criar a agenda. 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 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. 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.

  • Avanço — 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.

  • Retorno — Quando o horário retrocede 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.