

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Amazon EventBridge 中封存和重播事件
<a name="eb-archive"></a>

在 EventBridge 中，您可以建立事件的封存檔，以便您可以輕鬆*重播*，或稍後將它們重新傳送至最初接收它們的事件匯流排。例如，您可能想要重播事件以從錯誤中復原，或驗證應用程式中的新功能。

## 封存事件
<a name="eb-archive-archive"></a>

建立封存時，您可以指定：
+ 要傳送至封存的事件。

  您可以指定 EventBridge 在篩選傳送至封存的事件時要使用的事件模式。
+ 在封存中保留事件的時間長度。

  您可以指定在封存中保留事件的天數。根據預設，EventBridge 會無限期地將事件存放在封存中。

每個封存都會從單一*來源*事件匯流排接收事件。建立封存後，您就無法變更來源事件匯流排。您可以為指定的事件匯流排建立多個封存。

![事件會依事件模式進行篩選，並傳送至可重新播放的封存。](http://docs.aws.amazon.com/zh_tw/eventbridge/latest/userguide/images/archive_eventbridge_conceptual.svg)


EventBridge 費用適用於封存。如需詳細資訊，請參閱 [Amazon EventBridge 定價](https://aws.amazon.com/eventbridge/pricing/)。

### 加密封存事件
<a name="eb-archive-encryption"></a>

預設情況下，EventBridge 在 [AWS 擁有的 CMK](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#aws-owned-cmk) 下使用 256 位元進階加密標準 (AES-256) 來加密封存中的事件資料，這有助於保護您的資料免遭未經授權的存取。

### 事件交付
<a name="eb-archive-timing"></a>

請記住下列有關 EventBridge 如何將事件交付至封存檔的考量事項：
+ 在事件匯流排上接收到的事件與到達封存的事件之間，可能會有延遲。我們建議您延遲重播封存的活動 10 分鐘，以確保所有事件都能重播。
+ [https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeArchive.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeArchive.html) 操作的 `EventCount`和 `SizeBytes`值的調校期間為 24 小時。因此，任何最近過期或新封存的事件可能不會立即反映在這些值中。

### 防止重播的事件交付至封存
<a name="eb-archive-managed-rule"></a>

當您建立封存時，EventBridge 會在來源事件匯流排上產生[受管規則](eb-rules.md#eb-rules-managed)，以防止重播的事件傳送至封存。受管規則會新增下列事件模式，根據事件是否包含 `replay-name` 欄位來篩選事件。(EventBridge 會在事件重播時將此欄位新增至事件。)

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

## 從封存重播事件
<a name="eb-archive-replay"></a>

建立封存之後，您就可以重播封存中的事件。例如，如果您使用其他功能更新應用程式，您可以重播歷史事件，以確保事件會重新處理，以保持應用程式的一致性。您也可以使用封存重播新功能的事件。

當您從封存重播事件時，您可以指定：
+ 選取要重播的事件的時間範圍。
+ 或者，EventBridge 應重播所選事件的事件匯流排上的特定規則。

封存事件只能重播至來源事件匯流排。

每個 AWS 區域每個帳戶最多可以有十個作用中並行重播。

重播事件不會將其從封存中移除。您可以在多個重播中重播事件。EventBridge 只會在事件超過封存保留期間，或您刪除封存本身時移除事件。

EventBridge 會在 90 天後刪除重播。

您可以在重播狀態為 `Starting`或 時取消重播`Running`。如需詳細資訊，請參閱[取消事件重播](eb-replay-cancel.md)。

### 識別已重播的事件
<a name="eb-archive-replay-event-transform"></a>

當 EventBridge 在重播期間將事件從封存傳送至來源事件匯流排時，它會將中繼資料欄位新增至事件 `replay-name`，其中包含重播的名稱。您可以使用此欄位來識別交付至目標的重播事件。

EventBridge 也會使用此欄位，以確保重播的事件不會傳送至封存。

### 從封存重播事件時的考量事項
<a name="eb-archive-replay-considerations"></a>

從封存重播事件時，請記住下列考量事項：
+ 在事件匯流排上接收到的事件與到達封存的事件之間，可能會有延遲。我們建議您延遲重播封存的活動 10 分鐘，以確保所有事件都能重播。
+ 事件不必以新增至封存的相同順序進行重播。重播會根據事件中的時間來處理要重播的事件，並以一分鐘的間隔重播事件。如果您指定的事件開始時間和結束時間涵蓋 20 分鐘的時間範圍，則會先從該 20 分鐘範圍的第一分鐘開始重播事件。然後，重播第二分鐘的事件。
+ 您可以使用 EventBridge API 的 `DescribeReplay` 作業來判斷重播的進度。`EventLastReplayedTime` 傳回重播之上個事件的時間戳記。
+ 事件會根據 AWS 帳戶每秒`PutEvents`交易數限制重新播放，但與限制不同。您可以請求提高針對 PutEvents 的限制。如需詳細資訊，請參閱 [Amazon EventBridge 配額](https://docs.aws.amazon.com/eventbridge/latest/userguide/cloudwatch-limits-eventbridge.html)。

 以下視頻演示了存檔和重播的用法：


