Invocar uma função do Lambda segundo uma agenda - AWS Lambda

Invocar uma função do Lambda segundo uma agenda

O Agendador do Amazon EventBridge utiliza a tecnologia sem servidor que permite criar, executar e gerenciar tarefas a partir de um serviço central gerenciado. Com o Agendador do EventBridge, você pode criar programações usando expressões cron e rate para padrões recorrentes ou configurar invocações únicas. Você pode configurar janelas de tempo flexíveis para entrega, definir limites de repetição e definir o tempo máximo de retenção para eventos não processados.

Quando você configura o EventBridge Scheduler com o Lambda, o EventBridge Scheduler invoca a função do Lambda de modo assíncrono. Esta página explica como usar o Agendador do EventBridge para invocar uma função do Lambda em uma programação.

Configurar o perfil de execução

Quando você cria uma programação, o Agendador do EventBridge deve ter permissão para invocar a operação da API de destino em seu nome. Você concede essas permissões ao Agendador do EventBridge usando um perfil de execução. A política de permissão que você anexa ao perfil de execução da programação define as permissões necessárias. As permissões dependem da API de destino que você deseja que o Agendador do EventBridge invoque.

Quando você usa o console do Agendador do EventBridge para criar programações, como no procedimento a seguir, o Agendador do EventBridge configura automaticamente um perfil de execução com base no destino selecionado. Se você quiser criar uma programação usando um dos SDKs do Agendador do EventBridge, a AWS CLI ou o AWS CloudFormation, você deve ter um perfil de execução que conceda as permissões que o Agendador do EventBridge precisa para invocar o destino. Para obter mais informações sobre como configurar manualmente um perfil de execução para programações, consulte Como configurar um perfil de execução no Guia do usuário do Agendador do EventBridge.

Criar uma programação

Para criar uma programação usando o console
  1. Abra o console do Agendador do Amazon EventBridge em https://console.aws.amazon.com/scheduler/home.

  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. (Opcional) Em Descrição, insira a descrição da programação. Por exemplo, My first schedule.

    3. Em Grupo de programação, escolha um grupo de programação na lista suspensa. Se você não tiver um grupo, escolha padrão. Para criar um grupo de programação, escolha criar sua própria programação.

      Para adicionar tags a grupos de programação, você usa os grupos de programação.

    1. Escolha as opções de programação.

      Ocorrência Fazer isso...

      Programação única

      A programação única invoca o destino somente uma vez na data e hora que você especificar.

      Em Data e hora, faça o seguinte:

      • Insira uma data válida no formato YYYY/MM/DD.

      • Insira um carimbo de data/hora no formato de 24 horas hh:mm.

      • Em Fuso horário, escolha o fuso horário.

      Programação recorrente

      A programação recorrente invoca o destino em uma taxa especificada por você usando uma expressão cron ou rate.

      1. Em Tipo de programação, siga um dos procedimentos a seguir.

        • Para usar uma expressão cron para definir a programação, escolha Programação baseada em cron e insira a expressão cron.

        • Para usar uma expressão rate para definir a programação, escolha Programação baseada em rate e insira a expressão rate.

          Para obter mais informações sobre as expressões cron e rate, consulte Tipos de programação no Agendador do EventBridge no Guia do usuário do Agendador do Amazon EventBridge.

      2. Em Janela de tempo flexível, escolha Desativar para desativar a opção ou escolha uma das janelas de tempo predefinidas. 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.

  4. (Opcional) Se você escolher Programação recorrente na etapa anterior, na seção Período, faça o seguinte:

    1. Em Fuso horário, escolha um fuso horário.

    2. Em Data e hora de início, insira uma data válida no formato YYYY/MM/DD e, em seguida, especifique um carimbo de data/hora no formato de 24 horas hh:mm.

    3. Para Data e hora de término, insira uma data válida no formato YYYY/MM/DD e, em seguida, especifique um carimbo de data/hora no formato 24 horas hh:mm.

  5. Escolha Próximo.

  6. Na página Selecionar destino, escolha a operação de API da AWS que o Agendador do EventBridge invoca:

    1. Escolha Invocar o AWS Lambda.

    2. Na seção Invocar, selecione uma função ou escolha Criar uma nova função do Lambda.

    3. (Opcional) Insira uma carga útil JSON. Se você não inserir uma carga útil, o Agendador do EventBridge usará um evento vazio para invocar a função.

  7. Escolha Próximo.

  8. Na página Configurações, faça o seguinte:

    1. Para ativar a programação, em Estado da programação, mude para Ativar programação.

    2. Para configurar uma política de novas tentativas para a programação, em Política de novas tentativas e fila de mensagens não entregues (DLQ), faça o seguinte:

      • Mude para Tentar novamente.

      • Em Duração máxima do evento, insira o período máximo de horas e minutos que o Agendador do EventBridge deve manter um evento não processado.

      • O período máximo é de 24 horas.

      • 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.

        O valor máximo é 185 tentativas.

      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.

    3. Escolha onde o Agendador do EventBridge armazena os eventos não entregues.

      Opção Fila de mensagens não entregues (DLQ) Fazer isso...
      Não armazene Selecione Nenhum.
      Armazenar o evento na mesma Conta da AWS em que você está criando a programação
      1. Escolha Selecionar uma fila do Amazon SQS na minha Conta da AWS como uma DLQ.

      2. Escolha o nome do recurso da Amazon (ARN) da fila do Amazon SQS.

      Armazenar o evento em uma Conta da AWS diferente de onde você está criando a programação
      1. Escolha Especificar uma fila do Amazon SQS em outras Contas da AWS como uma DLQ.

      2. Insira o nome do recurso da Amazon (ARN) da fila do Amazon SQS.

    4. Para usar uma chave gerenciada pelo cliente para criptografar a entrada de destino, em Criptografia, escolha Personalizar as configurações de criptografia (avançado).

      Se você escolher essa opção, insira o ARN da chave do KMS existente ou escolha Criar AWS KMS key para navegar até o console do AWS KMS. Para obter mais informações sobre como o Agendador do EventBridge criptografa os dados em repouso, consulte Criptografia em repouso no Guia do usuário do Agendador do Amazon EventBridge.

    5. Para que o Agendador do EventBridge crie um novo perfil de execução para você, escolha Criar novo perfil para esta programação. Depois, insira um nome em Nome do perfil. Se você escolher essa opção, o Agendador do EventBridge anexará as permissões necessárias para o 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. Clique em Criar programação.

    Você pode ver a lista com as programações novas e existentes na página Programações. Na coluna Status, verifique se sua nova programação está Ativada.

Para confirmar que o Agendador do EventBridge invocou a função, verifique os logs do Amazon CloudWatch da função.

Para obter mais informações sobre o Agendador do EventBridge, consulte: