在 Amazon EventBridge 中归档和重播事件 - Amazon EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在 Amazon EventBridge 中归档和重播事件

在 EventBridge 中,您可以创建事件归档,以便后续能够轻松重播这些事件,或者将其重新发送到最初接收它们的事件总线。例如,您可能希望重播事件来从错误中恢复,或验证应用程序中的新功能。

存档事件

创建归档时,您可以指定以下内容:

  • 要发送至归档的事件。

    您可以指定一个事件模式,供 EventBridge 在筛选发送至归档的事件时使用。

  • 事件在归档中的保留时长。

    您可以指定事件在归档中的保留天数。默认情况下,EventBridge 会将事件永久存储在归档中。

每个归档仅接收来自单个事件总线的事件。创建归档后,便无法更改其源事件总线。不过,您可以为给定事件总线创建多个归档。

事件会依据事件模式进行筛选并发送至归档,后续可从该归档中重播这些事件。

EventBridge 归档服务会产生费用。有关详情,请参阅 Amazon EventBridge 定价

加密归档事件

默认情况下,EventBridge 使用 Amazon 拥有的 CMK,使用 256 位高级加密标准 (AES-256) 加密存档中的事件数据,这样有助于保护您的数据,防止未经授权的访问。

事件传送

关于 EventBridge 如何将事件传送到归档,需谨记以下注意事项:

  • 事件总线接收事件与事件到达归档之间可能存在延迟。我们建议您将重放存档事件延迟 10 分钟,以确保重放所有事件。

  • DescribeArchive 操作的 EventCountSizeBytes 值的协调周期为 24 小时。因此,任何最近过期或新归档的事件可能不会反映在这些值中。

阻止将重播事件传送至归档

创建归档时,EventBridge 会在源事件总线上生成一条托管规则,以阻止重播事件传送至归档。该托管规则会添加以下事件模式,根据事件是否包含 replay-name 字段来进行筛选。(EventBridge 在重播事件时,会为事件添加此字段。)

{ "replay-name": [{ "exists": false }] }

从归档中重播事件

创建存档后,您可以重放存档中的事件。例如,如果您使用其他功能更新应用程序,则可以重放历史事件,以确保重新处理该事件,以保持应用程序的一致性。您还可使用存档,为新功能重放事件。

从归档中重播事件时,需指定以下内容:

  • 用于筛选待重播事件的时间范围。

  • (可选)事件总线上的特定规则(EventBridge 应将所选事件重播到该总线)。

归档事件只能重播到源事件总线。

每个 Amazon 区域的每个账户最多可以有 10 个处于活动状态的并发重播。

重播事件不会将其从归档中移除。您可以在多次重播操作中重播同一组事件。仅当事件超过归档保留期,或者您删除归档本身时,EventBridge 才会移除这些事件。

EventBridge 会在 90 天后删除重播记录。

当重播状态为 StartingRunning 时,您可以取消重播。有关更多信息,请参阅 取消事件重播

识别已重播的事件

在重播期间,当 EventBridge 将事件从归档发送到源事件总线时,会为该事件添加一个包含重播名称的元数据字段 replay-name。当重播事件传送到目标时,您可以使用此字段来识别这些事件。

EventBridge 还使用此字段来确保重播事件不会再次发送到归档。

从归档中重播事件的注意事项

从归档中重播事件时,需谨记以下注意事项:

  • 事件总线接收事件与事件到达归档之间可能存在延迟。我们建议您将重放存档事件延迟 10 分钟,以确保重放所有事件。

  • 事件的重放顺序不一定要与添加到存档中的顺序相同。重放根据事件中的时间处理要重放的事件,并以一分钟的间隔进行重放。如果您指定了涵盖 20 分钟时间范围的事件开始时间和事件结束时间,会首先从该 20 分钟范围的第一分钟开始重放事件。然后重放第二分钟的事件。

  • 您可以使用 EventBridge API 的 DescribeReplay 操作来确定重放的进度。EventLastReplayedTime 可返回上次重放事件的时间戳。

  • 事件的重放基于 Amazon 账户的每秒 PutEvents 事务限制,但与该限制是分开的。您可以请求提高 PutEvents 的限制。有关更多信息,请参阅 Amazon EventBridge 配额