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á.
Tutorial: Crie uma regra EventBridge programada para AWS Lambda funções
É possível configurar uma regra para executar uma função do AWS Lambda em uma programação. Este tutorial mostra como usar o AWS Management Console ou o AWS CLI para criar a regra. Se você quiser usar o, AWS CLI mas ainda não o instalou, consulte Instalando, atualizando e desinstalando a AWS CLI versão 2.
Para agendas, EventBridge não fornece precisão de segundo nível em expressões de agendamento. A melhor resolução ao usar uma expressão cron é um minuto. Devido à natureza distribuída EventBridge e aos serviços de destino, pode haver um atraso de vários segundos entre o momento em que a regra programada é acionada e o momento em que o serviço de destino executa o recurso de destino.
Etapas:
Etapa 1: criar uma função do Lambda
Crie uma função do Lambda para registrar os eventos programados.
Criar uma função do Lambda
Abra o AWS Lambda console em https://console.aws.amazon.com/lambda/
. -
Escolha Create function (Criar função).
-
Escolha Author from scratch (Criar do zero).
-
Digite um nome e uma descrição para a função Lambda. Por exemplo, atribua à função o nome
LogScheduledEvent
. -
Deixe o resto das opções como padrão e escolha Criar função.
-
Na guia Código da página da função, clique duas vezes em index.js.
-
Substitua o código existente pelo código a seguir.
'use strict'; exports.handler = (event, context, callback) => { console.log('LogScheduledEvent'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
-
Escolha Deploy (Implantar).
Etapa 2: Criar uma regra
Crie uma regra para executar a função do Lambda criada na etapa 1 em uma programação.
Você pode usar o console ou o AWS CLI para criar a regra. Para usar o AWS CLI, primeiro você concede à regra permissão para invocar sua função Lambda. Em seguida, você pode criar a regra e adicionar a função do Lambda como destino.
Para criar uma regra (console)
Abra o EventBridge console da Amazon em https://console.aws.amazon.com/events/
. -
No painel de navegação, escolha Regras.
-
Escolha Create rule.
-
Insira um nome e uma descrição para a regra.
Uma regra não pode ter o mesmo nome que outra na mesma Região e barramento de eventos.
-
Em Barramento de eventos, selecione o barramento de eventos que você deseja associar a essa regra. Se quiser que essa regra faça a correspondência com eventos provenientes da sua conta, escolha Barramento de eventos padrão da AWS . Quando um serviço da AWS em sua conta emite um evento, ele sempre vai para o barramento de eventos padrão da sua conta.
-
Em Rule type (Tipo de regra), escolha Schedule (Programação).
-
Escolha Próximo.
-
Em Padrão de programação, escolha Uma programação que é executada em uma taxa regular, como a cada 10 minutos, insira
5
e escolha Minutos na lista suspensa. -
Selecione Next (Próximo).
-
Em Tipos de destino, escolha Serviço da AWS .
-
Em Selecionar um destino, escolha a função do Lambda na lista suspensa.
-
Em Função, selecione a função do Lambda criada na seção Etapa 1: criar uma função do Lambda. Neste exemplo, selecione
LogScheduledEvent
. -
Escolha Próximo.
-
Escolha Próximo.
-
Analise os detalhes da regra e selecione Criar regra.
Para criar uma regra (AWS CLI)
-
Para criar uma regra que seja executada em um cronograma, use o comando
put-rule
.aws events put-rule \ --name
my-scheduled-rule
\ --schedule-expression 'rate(5 minutes)'Quando essa regra é executada, ela cria um evento e o envia aos destinos. O comando a seguir é um exemplo de evento.
{ "version": "0", "id": "53dc4d37-cffa-4f76-80c9-8b7d4a4d2eaa", "detail-type": "Scheduled Event", "source": "aws.events", "account": "123456789012", "time": "2015-10-08T16:53:06Z", "region": "us-east-1", "resources": [ "arn:aws:events:us-east-1:123456789012:rule/my-scheduled-rule" ], "detail": {} }
-
Para conceder permissão ao EventBridge service principal (
events.amazonaws.com
) para executar a regra, use oadd-permission
comando.aws lambda add-permission \ --function-name
LogScheduledEvent
\ --statement-idmy-scheduled-event
\ --action 'lambda:InvokeFunction' \ --principal events.amazonaws.com \ --source-arn arn:aws:events:us-east-1
:123456789012
:rule/my-scheduled-rule
-
Crie o arquivo
targets.json
com o seguinte conteúdo.[ { "Id": "1", "Arn": "arn:aws:lambda:
us-east-1
:123456789012
:function:LogScheduledEvent
" } ] -
Para adicionar a função do Lambda que você criou na etapa 1 à regra, use o comando
put-targets
.aws events put-targets --rule
my-scheduled-rule
--targets file://targets.json
Etapa 3: verificar a regra
Espere ao menos cinco minutos após concluir a etapa 2, é possível verificar se a sua função do Lambda foi invocada.
Visualize a saída da sua função do Lambda
Abra o CloudWatch console em https://console.aws.amazon.com/cloudwatch/
. -
No painel de navegação, selecione Logs.
-
Selecione o nome do grupo de logs para sua função do Lambda (
/aws/lambda/
).function-name
-
Selecione o nome do fluxo de logs para visualizar os dados fornecidos pela função para a instância que você iniciou.
Etapa 4: confirmar o êxito
Se você ver o evento Lambda nos CloudWatch registros, concluiu com êxito este tutorial. Se o evento não estiver em seus CloudWatch registros, comece a solucionar problemas verificando se a regra foi criada com sucesso e, se a regra parecer correta, verifique se o código da sua função Lambda está correto.
Etapa 5: limpar os recursos
Agora você pode excluir os recursos criados para este tutorial, a menos que queira mantê-los. Ao excluir AWS recursos que você não está mais usando, você evita cobranças desnecessárias em sua AWS conta.
Para excluir a (s) EventBridge regra (s)
-
Abra a página Regras
do EventBridge console. -
Selecione as regras que foram criadas.
-
Escolha Delete (Excluir).
-
Escolha Delete (Excluir).
Para excluir as funções do Lambda
-
Abra a página Funções
do console do Lambda. -
Selecione as funções que foram criadas.
-
Escolha Ações, Excluir.
-
Escolha Excluir.