EventBridge ¶
Amazon EventBridge is a serverless, fully managed, and scalable event bus that enables integrations between AWS services, Software as a services (SaaS), and your applications.
Remember
EventBridge was formerly called Amazon CloudWatch Events
. Amazon CloudWatch Events and EventBridge are the same underlying service and API, however, EventBridge provides more features.
EventBridge can be used to initiate processes on downstream services asynchronously
-
EventBridge makes it easier to connect applications. You can ingest, filter, transform and deliver events without writing custom code.
-
EventBridge allows you to build
event-driven architectures
, which are loosely coupled and distributed. This improves developer agility as well as application resiliency and it takes care of event ingestion and delivery, security, authorization, and error-handling for you. It enables you to decouple your architectures to make it faster to build and innovate, using routing rules to deliver events to selected targets. -
EventBridge
delivers a stream of real-time data from your applications, SaaS applications, and AWS services to targets such as AWS Lambda functions, HTTP invocation endpoints using API destinations, or event buses in other AWS accounts.
Example of e-comm site using EventBridge
Remember
EventBridge was formerly called Amazon CloudWatch Events. The default event bus and the rules you created in CloudWatch Events also display in the EventBridge console. EventBridge uses the same CloudWatch Events API, so your code that uses the CloudWatch Events API stays the same.
Event Bus 🚌¶
An event bus is a router that receives events and delivers them to zero or more destinations,or targets. Use an event bus when you need to route events from many sources to many targets, with optional transformation of events prior to delivery to a target.
Your account includes a default event bus that automatically receives events from AWS services. You can also:
- Create additional event buses, called custom event buses, and specify which events they receive.
- Create partner event buses, which receive events from SaaS partners.
An event bus
is a pipeline that receives events, 3 buses are shown below
Default event bus
– Every AWS account has a default event bus, which receives events from AWS services in that account.Custom event buses
– Custom event buses are used to receive events from custom applications, different AWS accounts in the same AWS Region, or from different Regions.Partner event buses
– Receive events from a SaaS partner through a partner event source.
Event Pipe 🪈¶
A pipe routes events from a single source
to a single target
. The pipe also includes the ability to filter for specific events, and to perform enrichments on the event data before it is sent to the target.
Rules 📐¶
Rules evaluate events and send them to interested consumers, or targets. Rules are assigned to a single event bus and are invoked in one of two ways. First, when an event on an event bus matches a rule's event pattern. Second, when you have defined a schedule and EventBridge invokes based on the identified times.
Example
For example, you can create a rule to identify when an Amazon S3 bucket is publicly readable and to also change the Amazon S3 bucket permissions to remove public access.
Targets 🎯¶
A target is a resource where EventBridge sends events when a rule's event pattern matches. You can associate multiple targets for a rule to send the same event to multiple other consumers without creating multiple rules.
EventBridge can directly integrate with AWS services, SaaS applications, and external API destinations.
Content filtering 📝¶
You can filter event patterns on standard operations such as equals, empty, and boolean AND/OR for values; however, EventBridge supports more complex event patterns using content filtering. With content filtering, you can match events in very specific scenarios, such as identifying when a field of the event is within a specific numeric range. There are special filters for evaluating IP addresses and even checking that a field doesn't exist in the event JSON.
Scheduling ⏰¶
With EventBridge Scheduler, you can schedule one-time or recurrently tens of millions of tasks across many AWS services without provisioning or managing underlying infrastructure. EventBridge Scheduler targets over 270 AWS services through the AWS SDK, giving you many options to invoke the service you need.
API destinations 🅿️¶
With API destinations, you can send events to on-premise applications, SaaS applications, or any web-based application with a web address without worrying about writing custom code or using additional infrastructure.
An API destination is made up of an HTTP endpoint, HTTP method (such as GET, POST, PUT), and a connection, which defines the type of authorization and credentials used to call the endpoint