Introdução ao EventBridge 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á.

Introdução ao EventBridge Scheduler

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

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. 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 o 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 uma agenda usando o console do Agendador do EventBridge

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

    nota

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

  2. Na página Programações, escolha Criar uma 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. Você usa grupos de programação para adicionar tags a eles.

  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 alvo 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 de taxa.

        Escolho agendamento baseado em Cron para configurar um agendamento usando uma expressão cron. Para usar uma expressão de taxa, escolho agendamento baseado em Taxa e insira um número positivo para Valor e, em seguida, escolha uma Unidade nas opções suspensas.

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

    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 sua meta uma vez a cada hora, a programação será executada em até 15 minutos após o início de cada hora.

  5. nota

    O recurso de janela de horário flexível não está disponível com agendas únicas.

    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. Uma agenda recorrente sem data de início começará assim que for criada e disponibilizada. Uma agenda recorrente sem data de término continuará invocando sua meta indefinidamente.

  6. Escolha Next (Próximo).

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

    1. Selecione alvos modelados e escolha uma API-alvo. Neste exemplo, escolheremos o alvo modelado do 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 Create new SQS queue para navegar até o console do Amazon SQS. Depois de terminar de criar uma fila, retorne ao console do EventBridge Scheduler e atualize o menu suspenso. O novo ARN da fila aparece e pode ser selecionado.

    3. Em Target, insira a carga que você deseja que o EventBridge Scheduler entregue ao alvo. Neste exemplo, enviaremos a seguinte mensagem para a fila de alvo: 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 recurso usando o botão. Por padrão, o EventBridge Scheduler habilita seu agendamento.

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

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

      • Escolha NENHUM, ou não escolha um valor, se você não quiser que o EventBridge Scheduler 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 políticas de novas tentativas, se uma programação falhar em invocar seu destino, o Agendador do EventBridge executará novamente a programação. Se configurado, você deve definir o tempo máximo de retenção e as novas tentativas para a programação.

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

      nota

      O valor máximo é 24 horas.

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

      nota

      O valor máximo é 185 novas tentativas.

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

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

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

      • Especifique uma fila do Amazon SQS em outra conta do 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 alvo. Se você escolher essa opção, insira uma chave ARN do KMS existente ou escolha Criar uma chave KMS do AWS para navegar para o console do AWS KMS. Para obter mais informações sobre como o EventBridge Scheduler criptografa seus dados em repouso, consulte Criptografia em repouso.

    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 EventBridge Scheduler crie um novo perfil de execução para você, escolha Criar um novo perfil para este agendamento. Depois, insira um nome para Nome do perfil. Se você escolher essa opção, o EventBridge Scheduler adicionará as permissões necessárias para seu alvo de exemplo ao perfil.

  9. Escolha Next (Próximo).

  10. Na página Revisar e criar uma programação, revise os detalhes da sua 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 uma lista das suas programações novas e existentes na página Programações. Na coluna Status, verifique se sua nova programação está Ativada.

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

    1. Escolha a fila de alvo na lista Filas.

    2. Escolha Send and receive messages (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 sua agenda enviou para a fila de alvo.

Crie um cronograma usando o AWS CLI

O exemplo a seguir mostra como usar o comando de AWS CLI create-schedule para criar um agendamento do EventBridge Scheduler com um alvo 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 cronograma.

  • Arn — Insira o ARN do alvo. Nesse caso, o alvo é uma fila do Amazon SQS.

  • Entrada — Insira uma mensagem que o EventBridge Scheduler entrega à fila de alvo.

$ 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 uma agenda usando os SDKs do EventBridge Scheduler

No exemplo a seguir, você usa os SDKs do EventBridge Scheduler para criar um agendamento do EventBridge Scheduler com um alvo 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

  • Para obter mais informações sobre como gerenciar sua agenda usando o console, AWS CLI, ou o SDK do EventBridge Scheduler, consulte Gerenciando um agendamento.

  • Para obter mais informações sobre como configurar alvos modelados e aprender a usar o parâmetro de alvo universal, consulte Gerenciando alvos.

  • Para obter mais informações sobre os tipos de dados e as operações da API do EventBridge Scheduler, consulte a Referência da API do EventBridge Scheduler.