What Is Amazon EventBridge?
EventBridge is a serverless service that uses events to connect application components together, making it easier for you to build scalable event-driven applications. Use it to route events from sources such as home-grown applications, Amazon services, and third- party software to consumer applications across your organization. EventBridge provides a simple and consistent way to ingest, filter, transform, and deliver events so you can build new applications quickly.
EventBridge event buses are well suited for many-to-many routing of events between event-driven services. EventBridge Pipes is intended for point-to-point integrations between these sources and targets, with support for advanced transformations and enrichment.
How it works
The following video provides a high-level overview of EventBridge event buses.
EventBridge receives an event, an indicator of a change in environment, and applies a rule to route the event to a target. Rules match events to targets based on either the structure of the event, called an event pattern, or on a schedule. For example, when an Amazon EC2 instance changes from pending to running, you can have a rule that sends the event to a Lambda function.
All events that come to EventBridge are associated with an event bus. Rules are tied to a single event bus, so they can only be applied to events on that event bus. Your account has a default event bus which receives events from Amazon services, and you can create custom event buses to send or receive events from a different account or Region.
When an Amazon Partner wants to send events to an Amazon customer account, they set up a partner event source. Then the customer must associate an event bus with the partner event source.
EventBridge API destinations are HTTP endpoints that you can set as the target of a rule, in the same way that you would send event data to an Amazon service or resource. By using API destinations, you can use REST API calls to route events between Amazon services, integrated SaaS applications, and your applications outside of Amazon. When you create an API destination, you specify a connection to use for it. Each connection includes the details about the authorization type and parameters to use to authorize with the API destination endpoint.
To customize the text from an event before EventBridge passes it to a target, use the input transformer to edit the information before it goes to the target.
You can archive, or save, events and then replay them at a later time from the archive. Archiving is useful for testing an application because you have a store of events to use rather than having to wait for new events.
When you build serverless applications that use EventBridge, it can be helpful to know the event pattern of typical events without having to generate the event. The event patterns are described in schemas, which are available for all events generated by Amazon services on EventBridge. You can also create or upload custom schemas for events that don't come from Amazon services. Once you have a schema for an event, you can download code bindings for popular programming languages.
To organize Amazon resources or to track costs in EventBridge, you can assign a custom label, or tag, to Amazon resources. Using tag-based policies, you can control what resources can and can’t do within EventBridge.
In addition to tag-based policies, EventBridge supports identity-based and resource-based policies to control access to EventBridge. Use identity-based policies to control the permissions of a group, role, or user. Use resource-based policies to give specific permissions to each resource , such as a Lambda function or Amazon SNS topic.
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. New features added to EventBridge are not added to CloudWatch Events.
The following video explains more: