本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon 上的活动巴士 EventBridge
事件总线是接收事件并将其传送到零个或多个目的地或目标的路由器。事件总线非常适合将事件从多个源路由到多个目标,在将事件传送到目标之前可以选择转换事件。
与事件总线关联的规则会在事件到达时评估事件。每条规则都会检查事件是否与规则的模式相匹配。如果事件确实匹配,则 EventBridge 发送事件
您可以将规则与特定的事件总线相关联,使该规则仅适用于该事件总线接收的事件。
注意
您也可以使用 Pip EventBridge es 处理事件。 EventBridge 管道用于 point-to-point集成;每个管道都接收来自单一来源的事件,用于处理和传送到单个目标。Pipes 还支持在传送到目标之前对事件进行高级转换和富集。有关更多信息,请参阅 亚马逊 Pi EventBridge pes。
活动总线的工作原理 EventBridge
事件总线使您能够将来自多个源的事件路由到多个目的地,也称为目标。
它的工作方式可概括如下:
-
事件源(可以是 Amazon 服务、您自己的自定义应用程序或 SaaS 提供者)将事件发送到事件总线。
-
EventBridge 然后根据为该事件总线定义的每条规则评估事件。
对于每个与规则匹配的事件, EventBridge 然后将该事件发送到为该规则指定的目标。或者,作为规则的一部分,您还可以指定在将事件发送到目标之前 EventBridge 应如何转换事件。
一个事件可能匹配多个规则,每个规则最多可以指定五个目标。(事件可能不符合任何规则,在这种情况下,不 EventBridge 执行任何操作。)
举一个使用 EventBridge 默认事件总线的示例,它会自动接收来自 Amazon 服务的事件:
-
您在默认事件总线中为
EC2 Instance State-change Notification
事件创建一条规则:-
您可以指定该规则与 Amazon EC2 实例已更改
state
为的事件匹配running
。为此JSON,您可以指定定义事件必须匹配的属性和值才能触发规则。称为事件模式。
{ "source": ["aws.ec2"], "detail-type": ["EC2 Instance State-change Notification"], "detail": { "state": ["running"] } }
-
您可以将规则的目标指定为给定的 Lambda 函数。
-
-
每当 Amazon EC2 实例更改状态时,AmazonEC2(事件源)都会自动将该事件发送到默认事件总线。
-
EventBridge 根据您创建的规则评估发送到默认事件总线的所有事件。
如果事件与您的规则匹配(也就是说,如果事件是状态更改为 Amazon EC2 实例
running
),则 EventBridge 会将该事件发送到指定的目标。在本例中,目标就是 Lambda 函数。
以下视频描述了什么是事件总线,并介绍了它们的一些基础知识:
以下视频介绍了不同的事件总线以及何时使用它们: