0Pricing
Cloud & IT Cert Prep · Aula

EventBridge: barramento de eventos e regras

Publique eventos em um barramento personalizado do EventBridge, escreva regras de padrões de eventos para filtrar e encaminhar eventos para destinos Lambda, SQS ou Step Functions.

EventBridge: barramento de eventos e regras é uma aula grátis de Cloud & IT Cert Prep no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cloud & IT Cert Prep, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cloud & IT Cert Prep inclui 4 aulas no total.

O que é o Amazon EventBridge?

Amazon EventBridge (anteriormente CloudWatch Events) é um barramento de eventos sem servidor que facilita a conexão de aplicações usando eventos de serviços da AWS, das suas próprias aplicações e de provedores de SaaS. Os eventos são objetos JSON; o EventBridge os encaminha para um ou mais destinos com base em regras de padrão de eventos. Diferentemente do SQS (ponto a ponto), o EventBridge é uma camada de roteamento de publicação/assinatura — um evento pode ser distribuído simultaneamente para vários destinos.

Barramentos de eventos: Default, personalizados e de parceiros

O EventBridge tem três tipos de barramentos de eventos. O barramento Default recebe eventos dos serviços da AWS (alterações de estado do EC2, eventos do S3, chamadas de API do CloudTrail etc.). Os barramentos Custom são criados para os eventos da sua própria aplicação — eles isolam esses eventos dos eventos dos serviços da AWS. Os barramentos de parceiros recebem eventos diretamente de provedores de SaaS (Zendesk, Datadog, GitHub, Shopify) por meio de integrações pré-configuradas, sem a necessidade de uma Lambda que faça consulta periódica.

# Create a custom event bus for your application
aws events create-event-bus --name my-app-bus

# Put a custom event onto the bus
aws events put-events --entries '[{
  "Source": "com.myapp.orders",
  "DetailType": "OrderPlaced",
  "Detail": "{\"orderId\": \"ORD-123\", \"total\": 99.99}",
  "EventBusName": "my-app-bus"
}]'

Regras de padrão de eventos

Uma regra de padrão de eventos define quais eventos devem ser correspondidos usando um padrão JSON que filtra qualquer combinação de campos do evento (origem, tipo de detalhe, account, região ou campos dentro do objeto detail). O EventBridge avalia cada evento em relação a todas as regras do barramento. Os eventos correspondentes são encaminhados aos destinos configurados da regra. As regras usam OR no nível da regra e AND dentro de um objeto de padrão.

# Create a rule that matches EC2 instance state changes to 'stopped'
aws events put-rule \
  --name ec2-stopped-alert \
  --event-bus-name default \
  --event-pattern '{
    "source": ["aws.ec2"],
    "detail-type": ["EC2 Instance State-change Notification"],
    "detail": {
      "state": ["stopped"]
    }
  }' \
  --state ENABLED

Configuração de destinos

O EventBridge pode encaminhar eventos correspondentes para mais de 20 tipos de destino, incluindo funções Lambda, filas SQS, tópicos SNS, máquinas de estados do Step Functions, fluxos de dados do Kinesis, pontos de acesso do API Gateway, tarefas do ECS e até outro barramento do EventBridge (para roteamento entre contas). Cada regra pode ter até 5 destinos. O EventBridge invoca os destinos de forma assíncrona e tenta novamente usando espera progressiva exponencial em caso de falha.

# Add an SNS topic and Lambda function as targets for the rule
aws events put-targets \
  --rule ec2-stopped-alert \
  --event-bus-name default \
  --targets '[{
    "Id": "notify-ops",
    "Arn": "arn:aws:sns:us-east-1:123456789012:ops-alerts"
  }, {
    "Id": "auto-remediate",
    "Arn": "arn:aws:lambda:us-east-1:123456789012:function:RestartEC2"
  }]'

Transformação da entrada

Por padrão, o EventBridge passa todo o JSON do evento para o destino. Use a transformação da entrada para remodelar o evento antes da entrega — extraia campos específicos, construa um novo objeto JSON ou crie uma string personalizada. Isso é útil quando uma função Lambda ou um ponto de acesso de API espera um formato específico de carga útil, em vez de todo o envelope do evento do EventBridge, evitando a necessidade de uma Lambda intermediária apenas para remodelar os dados.

# Input transformer: extract orderId and total from detail
# InputPathsMap extracts values by JSON path
{
  'InputPathsMap': {
    'orderId': '$.detail.orderId',
    'total': '$.detail.total'
  },
  'InputTemplate': '{
    "message": "New order <orderId> for $<total>",
    "channel": "ops"
  }'
}

Regras agendadas (cron/taxa)

As regras do EventBridge também podem ser acionadas por uma programação, em vez de corresponderem a um evento. Use uma expressão de taxa (por exemplo, rate(5 minutes)) para acionadores em intervalos fixos ou uma expressão cron para agendamentos baseados no calendário. As regras agendadas são ideais para acionar funções Lambda em tarefas de limpeza em lote, enviar relatórios periódicos ou executar tarefas noturnas do DMS — substituindo a necessidade de tarefas cron baseadas no EC2.

# Create a scheduled rule that fires every day at midnight UTC
aws events put-rule \
  --name nightly-cleanup \
  --schedule-expression 'cron(0 0 * * ? *)' \
  --state ENABLED

aws events put-targets \
  --rule nightly-cleanup \
  --targets '[{
    "Id": "cleanup-lambda",
    "Arn": "arn:aws:lambda:us-east-1:123456789012:function:NightlyCleanup"
  }]'

Arquivamento e reprodução de eventos

O EventBridge pode arquivar todos os eventos (ou um subconjunto filtrado) de um barramento em um arquivo de eventos, mantendo-os pelo período configurado. Depois, você pode reproduzir os eventos arquivados no barramento a qualquer momento — isso é útil para reproduzir eventos a fim de testar uma nova versão da Lambda, recuperar-se de um erro em que um destino não recebeu eventos ou preencher um novo serviço com eventos históricos. Trata-se de uma poderosa rede de segurança operacional exclusiva do EventBridge em comparação com outros sistemas de publicação/assinatura.

# Create an event archive for the custom bus
aws events create-archive \
  --archive-name my-app-archive \
  --event-source-arn arn:aws:events:us-east-1:123456789012:event-bus/my-app-bus \
  --retention-days 30

# Replay archived events from a specific time window
aws events start-replay \
  --replay-name replay-missed-orders \
  --event-source-arn arn:aws:events:us-east-1:123456789012:archive/my-app-archive \
  --event-start-time 2024-01-10T00:00:00Z \
  --event-end-time 2024-01-10T06:00:00Z \
  --destination '{"Arn": "arn:aws:events:us-east-1:123456789012:event-bus/my-app-bus"}'

Roteamento entre contas e regiões

O EventBridge oferece suporte ao roteamento de eventos entre contas por meio da criação de uma política baseada em recursos no barramento de destino de outra conta, permitindo que a conta de origem publique eventos. Isso possibilita que uma conta centralizada de monitoramento receba eventos de todas as contas de cargas de trabalho ou que uma arquitetura de barramento de serviço compartilhado permita que uma equipe de plataforma encaminhe eventos para os barramentos das equipes consumidoras. O roteamento entre regiões funciona de forma semelhante, com destinos de barramento de eventos entre regiões configurados explicitamente.

# Allow a source account (111111111111) to send events to this bus
aws events put-permission \
  --event-bus-name my-central-bus \
  --action events:PutEvents \
  --principal 111111111111 \
  --statement-id allow-source-account

Pipes do EventBridge

EventBridge Pipes cria integrações ponto a ponto entre uma origem (SQS, Kinesis, DynamoDB Streams, Kafka) e um destino, com filtragem e enriquecimento opcionais entre eles (por meio de Lambda, Step Functions ou API Gateway). Os Pipes são mais simples do que escrever um consumidor Lambda que faça consulta periódica — eles cuidam automaticamente da consulta, do processamento em lotes, da filtragem e do roteamento. Use Pipes quando precisar de uma conexão direta entre origem e destino, sem um barramento completo de publicação/assinatura.

# Create an EventBridge Pipe from SQS to Lambda
aws pipes create-pipe \
  --name sqs-to-processor \
  --source arn:aws:sqs:us-east-1:123456789012:incoming-orders \
  --target arn:aws:lambda:us-east-1:123456789012:function:ProcessOrder \
  --role-arn arn:aws:iam::123456789012:role/PipeRole \
  --source-parameters '{
    "SqsQueueParameters": {"BatchSize": 10}
  }' \
  --filter-criteria '{
    "Filters": [{"Pattern": "{\"body\": {\"orderType\": [\"PRIORITY\"]}}"}]
  }'

EventBridge vs. SNS vs. SQS

Esses três serviços se sobrepõem, mas atendem a casos de uso diferentes. SNS: distribuição baseada em envio para assinantes (e-mail, HTTP, SQS, Lambda) — publicação/assinatura simples, sem filtragem. SQS: fila de mensagens durável para desacoplamento ponto a ponto, com semântica de consumo por busca. EventBridge: barramento de roteamento baseado no conteúdo, com registro de esquemas, arquivamento e reprodução, parceiros de SaaS e entrega entre contas — ideal para roteamento complexo de eventos entre muitos serviços. Use o EventBridge quando precisar de regras de roteamento sofisticadas, não apenas de uma distribuição simples.

Registro de esquemas do EventBridge

O Registro de esquemas do EventBridge detecta e cataloga automaticamente a estrutura dos eventos que passam pelos seus barramentos de eventos. Ele armazena os esquemas no formato OpenAPI 3.0 para que os desenvolvedores possam descobrir quais eventos estão disponíveis e gerar vinculações de código (Java, Python, TypeScript) que desserializam os eventos em objetos tipados. Isso elimina o código manual de análise de JSON e garante segurança de tipos entre serviços orientados a eventos. Você também pode registrar manualmente esquemas de eventos personalizados para eventos produzidos pelas suas próprias aplicações.

# Enable schema discovery on a custom event bus
aws schemas create-discoverer \
  --source-arn arn:aws:events:us-east-1:123456789012:event-bus/my-app-bus \
  --description 'Auto-discover schemas from app bus'

# List discovered schemas
aws schemas list-schemas \
  --registry-name discovered-schemas

Verificação rápida

Teste sua compreensão dos conceitos do AWS Solutions Architect (SAA-C03) apresentados nesta lição.

Recapitulação da lição

Nesta lição, você aprendeu que: o EventBridge encaminha eventos usando regras de padrão baseadas no conteúdo para vários destinos simultaneamente, o arquivamento e a reprodução permitem manter e processar novamente eventos históricos sem alterações no código e o EventBridge Pipes fornece fluxos gerenciados da origem ao destino a partir de fontes de transmissão. A seguir, exploraremos o Step Functions para orquestrar fluxos de trabalho sem servidor com várias etapas.

Perguntas Frequentes

A aula “EventBridge: barramento de eventos e regras” é grátis?

Sim — o texto completo de “EventBridge: barramento de eventos e regras” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cloud & IT Cert Prep, atualize para CoddyKit PRO. O curso de Cloud & IT Cert Prep inclui 4 aulas no total.

O que vou aprender em “EventBridge: barramento de eventos e regras”?

Publique eventos em um barramento personalizado do EventBridge, escreva regras de padrões de eventos para filtrar e encaminhar eventos para destinos Lambda, SQS ou Step Functions. Você pratica Cloud & IT Cert Prep com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cloud & IT Cert Prep?

Nenhuma experiência prévia é necessária. Cloud & IT Cert Prep no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “EventBridge: barramento de eventos e regras”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cloud & IT Cert Prep?

Sim. Cada aula de Cloud & IT Cert Prep inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. EventBridge: barramento de eventos e regras
  2. Step Functions: orquestração de fluxos de trabalho sem servidor
  3. Kinesis Data Streams para processamento de eventos em tempo real
  4. Padrões de coreografia versus orquestração
← Voltar para Cloud & IT Cert Prep