

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

# 教學課程：在 Amazon EventBridge 中封存和重播事件
<a name="eb-tutorial-archive-replay"></a>

您可以使用 EventBridge，透過[規則](eb-rules.md)將[事件](eb-events.md)路由傳送至特定的 [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) 函數。

在本教學課程中，您將使用 Lambda 主控台建立用作 EventBridge 規則目標的函數。然後，您將建立[封存](eb-archive-event.md)和規則，以使用 EventBridge 主控台封存測試事件。一旦封存中有事件，您可[重播](eb-replay-archived-event.md)這些事件。

**Topics**
+ [步驟 1：建立 Lambda 函數](#eb-create-lambda-function)
+ [步驟 2：建立封存](#eb-ar-create-archive)
+ [步驟 3：建立規則](#eb-ar-create-rule)
+ [步驟 4：傳送測試事件](#eb-ar-send-test-events)
+ [步驟 5：重播事件](#eb-ar-replay-events)
+ [步驟 6：清除您的資源](#cleanup)

## 步驟 1：建立 Lambda 函數
<a name="eb-create-lambda-function"></a>

首先，建立 Lambda 函數以記錄事件。

**若要建立 Lambda 函數：**

1. 開啟 AWS Lambda 主控台，網址為 [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/)：//。

1. 選擇 **Create function (建立函數)**。

1. 選擇**從頭開始撰寫**。

1. 輸入 Lambda 函數的名稱和描述。例如，將函數命名為 `LogScheduledEvent`。

1. 將其餘選項保留為預設值並選擇**建立函數**。

1. 在函數頁面的**程式碼**標籤上，按兩下 **index.js**。

1. 將現有的 JavaScript 程式碼取代為以下程式碼：

   ```
   'use strict';
   
   exports.handler = (event, context, callback) => {
       console.log('LogScheduledEvent');
       console.log('Received event:', JSON.stringify(event, null, 2));
       callback(null, 'Finished');
   };
   ```

1. 選擇**部署**。

## 步驟 2：建立封存
<a name="eb-ar-create-archive"></a>

接下來，建立將保存所有測試事件的封存。

**若要建立封存**

1. 前往 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) 開啟 Amazon EventBridge 主控台。

1. 在導覽窗格中，選擇**封存**。

1. 選擇**建立封存**。

1. 輸入封存的名稱與描述。例如，命名封存 `ArchiveTest`。

1. 將其餘選項保留為預設值並選擇**下一步**。

1. 選擇**建立封存**。

## 步驟 3：建立規則
<a name="eb-ar-create-rule"></a>

建立封存傳送至事件匯流排的規則。

**建立規則**

1. 前往 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) 開啟 Amazon EventBridge 主控台。

1. 在導覽窗格中，選擇**規則**。

1. 選擇**建立規則**。

1. 輸入規則的名稱和描述。例如，命名規則 `ARTestRule`。

   在同一個區域和同一個事件匯流排上，規則不能與另一個規則同名。

1. 針對**事件匯流排**，選擇要與此規則建立關聯的事件匯流排。如果您想要此規則匹配來自您的帳戶的事件，請選取**預設值**。當您帳戶中的 AWS 服務發出事件時，一律會前往您帳戶的預設事件匯流排。

1. 針對**規則類型**，選擇**具有事件模式的規則**。

1. 選擇**下一步**。

1. 在**事件來源**中，選擇**其他**。

1. 針對**事件模式**，請輸入：

   ```
   {
     "detail-type": [
       "customerCreated"
     ]
   }
   ```

1. 選擇**下一步**。

1. 在**目標類型**欄位中，選擇 **AWS 服務**。

1. 針對**選取目標**，請從下拉式清單中選擇 **Lambda 函數**。

1. 在**函數**中，選取您在**步驟 1：建立 Lambda 函數** 區段中建立的 Lambda 函數。在此範例中，選取 `LogScheduledEvent`。

1. 選擇**下一步**。

1. 選擇**下一步**。

1. 檢閱規則的詳細資訊，然後選擇**建立規則**。

## 步驟 4：傳送測試事件
<a name="eb-ar-send-test-events"></a>

由於您已設定封存和規則，我們將傳送測試事件以確保封存正常運作。

**注意**  
事件可能需要一些時間才能得到封存。

**若要傳送測試事件 (主控台)**

1. 前往 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) 開啟 Amazon EventBridge 主控台。

1. 在導覽窗格中，選擇**事件匯流排**。

1. 在**預設事件匯流排**圖標中，選擇**動作**，**傳送事件**。

1. 輸入事件來源。例如：`TestEvent`。

1. 針對**詳細資訊類型**，請輸入 `customerCreated`。

1. 針對**事件詳細資訊**，請輸入 `{}`。

1. 選擇**傳送**。

## 步驟 5：重播事件
<a name="eb-ar-replay-events"></a>

測試事件在封存中後，您可以對其進行重播。

**如要重播封存的事件 (主控台)**

1. 前往 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) 開啟 Amazon EventBridge 主控台。

1. 在導覽窗格中，選擇**重播**。

1. 選擇**重新開始重播**。

1. 輸入重播的名稱與描述。例如，命名重播 `ReplayTest`。

1. 在**來源**中，選取您在**步驟 2：建立封存**區段中建立的封存。

1. 在**重播時間範圍內**，請執行下列操作。

   1.  針對**開始時間**，選取您傳送測試事件的日期以及傳送測試事件之前的時間。例如，`2021/08/11` 和 `08:00:00`。

   1.  針對**結束時間**，選取目前的日期和時間。例如，`2021/08/11` 和 `09:15:00`。

1. 選擇**開始重播**。

## 步驟 6：清除您的資源
<a name="cleanup"></a>

除非您想要保留為此教學課程建立的資源，否則您現在便可刪除。透過刪除不再使用 AWS 的資源，您可以避免 AWS 帳戶產生不必要的費用。

**若要刪除 Lambda 函數**

1. 開啟 Lambda 主控台中的[函數頁面](https://console.aws.amazon.com/lambda/home#/functions)。

1. 選取您建立的函數。

1. 選擇 **動作**、**刪除**。

1. 選擇**刪除**。

**若要刪除 EventBridge 封存**

1. 開啟 EventBridge 主控台的[封存頁面](https://console.aws.amazon.com/events/home#/archives)。

1. 選取您建立的封存。

1. 選擇**刪除**。

1. 輸入封存名稱，然後選擇**刪除**。

**刪除 EventBridge 規則**

1. 開啟 EventBridge 主控台的[規則頁面](https://console.aws.amazon.com/events/home#/rules)。

1. 選取您建立的規則。

1. 選擇**刪除**。

1. 選擇**刪除**。