

# 使用 EventBridge 监控 CloudFormation 和 Git 同步事件
<a name="eventbridge-integration"></a>

Amazon EventBridge 是一项无服务器服务，使用事件将应用程序组件连接在一起，可让您更轻松地构建可扩展的事件驱动型应用程序。事件驱动型架构是一种构建松耦合软件系统的风格，这些系统通过发出和响应事件来协同工作。事件代表资源或环境中的变化。

与许多 AWS 服务一样，CloudFormation 会生成事件并将其发送到 EventBridge 的默认事件总线，该总线会在每个 AWS 账户中自动配置。事件总线是接收事件并将其传送到零个或多个目的地或*目标*的路由器。为事件总线指定的规则会在事件到达时进行评估。每条规则都会检查事件是否与规则的*事件模式*相匹配。如果事件确实匹配，事件总线会将事件发送到指定的目标。

有关更多信息，请参阅 *Amazon EventBridge 用户指南*中的 [Amazon EventBridge 入门](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-get-started.html)。

![AWS 服务将事件发送到 EventBridge 默认事件总线。如果事件与规则的事件模式匹配，则 EventBridge 会将事件发送到该规则指定的目标。](http://docs.aws.amazon.com/zh_cn/AWSCloudFormation/latest/UserGuide/images/eventbridge-integration-how-it-works.png)


**Topics**
+ [CloudFormation 和 Git 同步事件概述](#supported-events)
+ [Amazon EventBridge 权限](#eventbridge-permissions)
+ [为 EventBridge 规则创建自定义事件模式](eventbridge-using-events-rules-patterns.md)
+ [CloudFormation 事件详细信息参考](events-detail-reference.md)

## CloudFormation 和 Git 同步事件概述
<a name="supported-events"></a>

每当对堆栈执行创建、更新、删除或偏差检测操作时，CloudFormation 都可以向 EventBridge 发送事件。CloudFormation 还会向 EventBridge 发送事件，以更改堆栈集和堆栈集实例的状态。您可以使用 EventBridge 规则将事件路由到定义的目标。这些事件会保证传送，但可能会不按顺序传送。

由于 CloudFormation 事件代表对堆栈或堆栈集及其资源的更改，因此您可以使用它们来启动与相应事件关联的工作流。例如：
+ 在通过 CloudFormation 预置的所有资源上创建堆栈或堆栈集特定标签。
+ 在 CloudFormation 堆栈或堆栈集与 Amazon WorkSpaces Application Manager（Amazon WAM）之间建立关联。
+ 为创建的堆栈或堆栈集指定与 AppRegistry 的关联。

以下事件由 CloudFormation 生成并发送到 EventBridge 中的默认事件总线。有关更多信息，请参阅 [CloudFormation 事件详细信息参考](events-detail-reference.md)。


| 事件类型 | 说明 | 事件源 | 
| --- | --- | --- | 
| [资源状态更改](event-detail-resource-status-change.md) | 在堆栈上执行的任何更新都会更改底层资源属性。<br />有关支持的 AWS 资源类型的完整列表，请参阅 [AWS 资源和属性类型参考](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-template-resource-type-ref.html)。 | AWS CloudFormation | 
| [堆栈状态更改](event-detail-stack-status-change.md) | 表示对给定堆栈的状态更改。<br />有关代码详细信息，请参阅 [堆栈状态代码](view-stack-events.md#cfn-console-view-stack-data-resources-status-codes)。 | AWS CloudFormation | 
| [偏差检测状态更改](event-detail-stack-drift-detection-change.md) | 表示用户在给定堆栈上启动的偏差检测更新。<br />有关支持偏差检测的完全可变和不可变类型的完整列表，请参阅 [资源类型支持](resource-import-supported-resources.md) | AWS CloudFormation | 
| [StackSet 状态更改](event-detail-stackset-status-change.md) | 表示对给定堆栈集的状态更改。 | AWS CloudFormation | 
| [StackSet 堆栈实例状态更改](event-detail-stackset-stack-instance-status-change.md) | 表示特定 StackSet 堆栈实例的状态更改。<br />有关代码详细信息，请参阅 [堆栈实例状态代码](stacksets-concepts.md#stack-instance-status-codes)。 | AWS CloudFormation | 
| [StackSet 操作状态](event-detail-stackset-operation-status-change.md) | 表示对给定 StackSet 操作的状态更改。<br />有关代码详细信息，请参阅 [StackSets 状态代码](stacksets-concepts.md#stackset-status-codes)。 | AWS CloudFormation | 

此外，AWS CloudFormation Git 同步还会将存储库同步和资源同步的状态更改事件发送到 EventBridge。

以下 Git 同步事件由 CodeConnections 生成并发送到 EventBridge 中的默认事件总线。有关更多信息，请参阅 [CloudFormation 事件详细信息参考](events-detail-reference.md)。


| 事件类型 | 说明 | 事件源 | 
| --- | --- | --- | 
| [存储库同步状态更改](event-detail-respository-sync-status-change.md) | 表示 Git 存储库同步的状态更改。 | AWS CodeConnections | 
| [资源同步状态更改](event-detail-resource-sync-status-change.md) | 表示 Git 资源同步的状态更改。 | AWS CodeConnections | 

## Amazon EventBridge 权限
<a name="eventbridge-permissions"></a>

CloudFormation 不需要任何其他权限即可向 EventBridge 传输事件。这些事件包含已通过 CloudFormation 的 API 操作获得的信息。

您指定的目标可能需要特定的权限或配置。有关为目标使用特定服务的详细信息，请参阅《Amazon EventBridge User Guide》**中的 [Amazon EventBridge targets](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html)。