Introdução ao Agendador do EventBridge - Agendador do Amazon EventBridge

Introdução ao Agendador do EventBridge

Este tópico descreve a criação de um novo agendamento do Agendador do EventBridge. Você usa o console do Agendador do EventBridge, AWS Command Line Interface (AWS CLI) ou AWS SDKs para criar um agendamento com um modelo de destino do Amazon SQS. Em seguida, você configurará o log, configurará novas tentativas e definirá um tempo máximo de retenção para tarefas com falha. Depois de criar o agendamento, você verificará se seu agendamento invoca com sucesso o destino e envia uma mensagem para a fila de destino.

nota

Para seguir esse guia, recomendamos que você configure os usuários do IAM com as permissões mínimas exigidas descritas em Usar políticas baseadas em identidade no Agendador do EventBridge. Depois de criar e configurar um usuário, execute o comando a seguir para definir suas credenciais de acesso. Você precisa de seu ID de chave de acesso da e de uma chave de acesso secreta para configurar a AWS CLI.

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

Para obter mais informações sobre as diferentes maneiras de definir suas credenciais, consulte Configurações e precedência no Guia do usuário da versão 2 do AWS Command Line Interface.

Pré-requisitos

Antes de executar as etapas nesta seção, você deverá fazer o seguinte:

Criar um agendamento usando o console do Agendador do EventBridge

Para criar uma nova programação usando o console
  1. Faça login no Console de gerenciamento da AWS e, em seguida, escolha o seguinte link para abrir a seção Agendador do EventBridge do console EventBridge: https://us-west-2.console.aws.amazon.com/scheduler/home?region=us-west-2#home

    nota

    Você pode mudar sua Região da AWS usando o seletor de região do Console de gerenciamento da AWS.

  2. Na página Programações, clique em Criar programação.

  3. Na página Especificar detalhes da programação, na seção Nome e descrição da programação, faça o seguinte:

    1. Em Nome da programação, insira um nome para a programação. Por exemplo, ., MyTestSchedule

    2. Para Descrição - opcional, insira uma descrição para a seu agendamento. Por exemplo, My first schedule.

    3. Para Grupo de agendamento, escolha um grupo de agendamento na lista suspensa. Se você ainda não criou nenhum grupo de agendamento, pode escolher o grupo default para sua agenda. Para criar um novo grupo de agendamento, escolha o link criar seu próprio agendamento na descrição do console. Para adicionar tags a grupos de programação, você usa os grupos de programação.

  4. Na seção Schedule details (Detalhes do agendamento), faça o seguinte:

    1. Em Ocorrência, selecione uma das opções de padrão a seguir. As opções de configuração mudam dependendo do padrão selecionado.

      • Agendamento único: Um agendamento único invoca um destino somente uma vez na data e hora que você especificar.

        Em Data e hora, insira uma data válida no formato YYYY/MM/DD. Em seguida, especifique um carimbo de data e hora no formato hh:mm de 24 horas. Por fim, escolha um fuso horário nas opções suspensas.

      • Agendamento recorrente: Um agendamento recorrente invoca uma meta em uma taxa que você especifica usando uma expressão cron ou expressão rate.

        Escolha Cronograma baseado em cron para configurar um cronograma usando uma expressão cron. Para usar uma expressão rate, escolha Cronograma baseado em intervalos e insira um número positivo para Valor, depois escolha uma Unidade nas opções da lista suspensa.

      Para obter mais informações sobre o uso de expressões rate e cron, consulte Tipos de cronograma no Agendador do EventBridge.

    2. Para Janela de tempo flexível, escolha Desativado para desativar a opção ou escolher uma das janelas de tempo predefinidas da lista em cascata. Por exemplo, se você escolher 15 minutos e definir uma programação recorrente para invocar o destino uma vez a cada hora, a programação será executada em até 15 minutos após o início de cada hora.

  5. Se você escolheu agendamento recorrente na etapa anterior, na seção Prazo, especifique um fuso horário e, opcionalmente, defina uma data e hora de início e uma data e hora de término para o agendamento. Um agendamento recorrente sem data de início começará assim que for criada e disponibilizada. Um agendamento recorrente sem data de término continuará a invocar sua meta indefinidamente.

  6. Escolha Próximo.

  7. Na página Selecionar destino, faça o seguinte:

    1. Selecione destinos modelados e escolha uma API-destino. Neste exemplo, escolheremos o destino modelado SendMessage do Amazon SQS.

    2. Na seção SendMessage, para a fila SQS, escolha um ARN de fila existente do Amazon SQS, como arn:aws:sqs:us-west-2:123456789012:TestQueue na lista suspensa. Para criar uma nova fila, escolha Criar nova fila SQS para navegar até o console do Amazon SQS. Depois de terminar de criar uma fila, retorne ao console do Agendador do EventBridge e atualize o menu suspenso. O novo ARN da fila aparece e pode ser selecionado.

    3. Em Target, insira a carga útil que você deseja que o Agendador do EventBridge entregue ao destino. Neste exemplo, enviaremos a seguinte mensagem para a fila de destino: Hello, it's EventBridge Scheduler.

  8. Escolha Avançar e, na página Configurações - opcional, faça o seguinte:

    1. Na seção Estado do agendamento, em Ativar agendamento, ative ou desative o atributo usando o botão. Por padrão, o Agendador do EventBridge habilita seu agendamento.

    2. Na seção Ação após a conclusão do agendamento, configure a ação que o Agendador do EventBridge executará após a conclusão do agendamento:

      • Escolha EXCLUIR se quiser que o agendamento seja excluído automaticamente. Para agendamentos únicos, isso ocorre depois que o agendamento invocar o destino uma vez. Para agendamentos recorrentes, isso ocorre após a última invocação planejada do agendamento. Para obter mais informações sobre a exclusão automática, consulte Exclusão após a conclusão do agendamento.

      • Escolha NENHUM, ou não escolha um valor, se você não quiser que o Agendador do EventBridge execute nenhuma ação após a conclusão do agendamento.

    3. Na seção Política de novas tentativas e fila de mensagens não entregues (DLQ), em Política de novas tentativas, ative novas tentativas para configurar uma política de novas tentativas para a seu agendamento. Com as políticas de novas tentativas, se a programação não conseguir invocar o destino, o Agendador do EventBridge tentará executar novamente a programação. Se configurado, você deve definir o tempo máximo de retenção e as novas tentativas da programação.

    4. Para Idade máxima do evento - opcional, insira as horas e os minutos máximos que o Agendador do EventBridge deve manter um evento não processado.

      nota

      O valor máximo é 24 horas.

    5. Em Máximo de tentativas, insira o número máximo de vezes que o Agendador do EventBridge tentará executar a programação se o destino retornar um erro.

      nota

      O valor máximo é 185 tentativas.

    6. Para Fila de mensagens não entregues (DLQ), selecione uma das seguintes opções:

      • Nenhuma: Escolha essa opção se você não quiser configurar uma DLQ.

      • Selecione uma fila do Amazon SQS em minha conta da AWS como DLQ: Escolha essa opção e, em seguida, selecione um ARN de fila na lista suspensa e configure uma DLQ com uma Conta da AWS igual àquela onde você está criando o agendamento.

      • Especifique uma fila do Amazon SQS em outra conta da AWS como DLQ: Escolha essa opção e, em seguida, insira o ARN da fila configurada como DLQ, se a fila estiver em outra Conta da AWS. Você deve inserir o ARN exato da fila para usar essa opção.

    7. Na seção de Criptografia, selecione Personalizar configurações de criptografia (avançado) para utilizar uma chave de KMS gerenciada pelo cliente para criptografar sua entrada de destino. Se você escolher essa opção, insira uma chave ARN do KMS existente ou escolha Criar uma chave KMS da AWS para navegar para o console do AWS KMS. Para obter mais informações sobre como o Agendador do EventBridge criptografa seus dados em repouso, consulte Criptografia em repouso no Agendador do EventBridge.

    8. Em Permissões, escolha Usar função existente e selecione a função que você criou durante o procedimento de configuração na lista suspensa. Você também pode escolher Ir para o console do IAM para criar uma nova função.

      Para que o Agendador do EventBridge crie um novo perfil de execução para você, escolha Criar um novo perfil para este agendamento. Depois, insira um nome em Nome do perfil. Se você escolher essa opção, o Agendador do EventBridge adicionará as permissões necessárias para seu destino de exemplo ao perfil.

  9. Escolha Próximo.

  10. Na página Revisar e criar programação, revise os detalhes da programação. Em cada seção, escolha Editar para voltar a essa etapa e editar seus detalhes.

  11. Escolha Criar agendamento para concluir a criação da nova agenda. Você pode ver a lista com as programações novas e existentes na página Programações. Na coluna Status, verifique se a nova programação está Ativada.

  12. Para verificar se seu agendamento invoca o destino do Amazon SQS, abra o console do Amazon SQS e faça o seguinte:

    1. Escolha a fila de destino na lista Filas.

    2. Escolha Enviar e receber mensagens.

    3. Na página Enviar e receber mensagens, em Receber mensagens, escolha Sondar mensagens para recuperar as mensagens de teste que seu agendamento enviou para a fila de destino.

Crie um agendamento usando a AWS CLI

O exemplo a seguir mostra como usar o comando de AWS CLI create-schedule para criar um agendamento do Agendador do EventBridge com um destino modelo do Amazon SQS. Substitua os valores do espaço reservado para os seguintes parâmetros por suas informações:

  • --name: Insira um nome para o agendamento.

  • RoleArn: Insira o ARN da função de execução que você deseja associar ao agendamento.

  • Arn: Insira o ARN do destino. Nesse caso, o destino é uma fila do Amazon SQS.

  • Entrada: Insira uma mensagem que o Agendador do EventBridge entrega à fila de destino.

$ aws scheduler create-schedule --name sqs-templated-schedule --schedule-expression 'rate(5 minutes)' \ --target '{"RoleArn": "ROLE_ARN", "Arn": "QUEUE_ARN", "Input": "TEST_PAYLOAD" }' \ --flexible-time-window '{ "Mode": "OFF"}'

Criar um agendamento usando os SDKs do Agendador do EventBridge

No exemplo a seguir, você usa os SDKs do Agendador do EventBridge para criar um agendamento do Agendador do EventBridge com um destino modelo do Amazon SQS.

exemplo Python SDK
import boto3 scheduler = boto3.client('scheduler') flex_window = { "Mode": "OFF" } sqs_templated = { "RoleArn": "<ROLE_ARN>", "Arn": "<QUEUE_ARN>", "Input": "Message for scheduleArn: '<aws.scheduler.schedule-arn>', scheduledTime: '<aws.scheduler.scheduled-time>'" } scheduler.create_schedule( Name="sqs-python-templated", ScheduleExpression="rate(5 minutes)", Target=sqs_templated, FlexibleTimeWindow=flex_window)
exemplo SDK do Java
package com.example; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.scheduler.SchedulerClient; import software.amazon.awssdk.services.scheduler.model.*; public class MySchedulerApp { public static void main(String[] args) { final SchedulerClient client = SchedulerClient.builder() .region(Region.US_WEST_2) .build(); Target sqsTarget = Target.builder() .roleArn("<ROLE_ARN>") .arn("<QUEUE_ARN>") .input("Message for scheduleArn: '<aws.scheduler.schedule-arn>', scheduledTime: '<aws.scheduler.scheduled-time>'") .build(); CreateScheduleRequest createScheduleRequest = CreateScheduleRequest.builder() .name("<SCHEDULE NAME>") .scheduleExpression("rate(10 minutes)") .target(sqsTarget) .flexibleTimeWindow(FlexibleTimeWindow.builder() .mode(FlexibleTimeWindowMode.OFF) .build()) .build(); client.createSchedule(createScheduleRequest); System.out.println("Created schedule with rate expression and an Amazon SQS templated target"); } }

Próximas etapas