

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

# 教學課程：使用輸入轉換器轉換 EventBridge 中的事件
<a name="eb-input-transformer-tutorial"></a>

在將事件傳送至[規則](eb-rules.md)目標之前，您可以使用 EventBridge 中的[輸入轉換器](eb-transform-target-input.md)自訂[事件](eb-events.md)中的文字。

為此，您可以定義事件的 JSON 路徑，並為其輸出指派不同的變數。然後，您可以在輸入範本中使用這些變數。字元 < 和 > 不可逸出。如需詳細資訊，請參閱 [Amazon EventBridge 輸入轉換](eb-transform-target-input.md)

**注意**  
如果您指定變數對應不存在於事件中的 JSON 路徑，則該變數不會建立，且不會出現在輸出中。

在該教學課程中，您將建立事件與 `detail-type: "customerCreated"` 相符的規則。輸入轉換器會將 `type` 變數對應至事件中的 \$1.detail-type JSON 路徑。然後，EventBridge 會將變數放入輸入範本“該事件是<類型>”。結果是下列 Amazon SNS 訊息。

```
"This event was of customerCreated type."
```

**Topics**
+ [步驟 1：建立 Amazon SNS 主題](#eb-input-transformer-tutorial-create-topic)
+ [步驟 2：建立 Amazon SNS 訂閱](#eb-input-transformer-tutorial-create-sns)
+ [步驟 3：建立規則](#eb-input-transformer-create-rule)
+ [步驟 4：傳送測試事件](#eb-input-transformer-send-test-events)
+ [步驟 5：確認成功](#success)
+ [步驟 6：清除您的資源](#cleanup)

## 步驟 1：建立 Amazon SNS 主題
<a name="eb-input-transformer-tutorial-create-topic"></a>

建立主題以接收來自 EventBridge 的事件。

**若要建立主題**

1. 在 [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home) 開啟 Amazon SNS 主控台。

1. 在導覽窗格中，選擇**主題**。

1. 請選擇**建立主題**。

1. 針對**類型**，選擇**標準**。

1. 輸入 **eventbridge-IT-test**，作為主題的名稱。

1. 請選擇**建立主題**。

## 步驟 2：建立 Amazon SNS 訂閱
<a name="eb-input-transformer-tutorial-create-sns"></a>

建立訂閱以取得含有轉換後的資訊的電子郵件。

**若要建立訂閱**

1. 在 [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home) 開啟 Amazon SNS 主控台。

1. 在導覽窗格中，選擇**訂閱**。

1. 選擇**建立訂閱**。

1. 在**主題 ARN** 中，選擇您在步驟 1 建立的主題。在本教學課程中，選擇 **eventbridge-IT-test**。

1. 對於**通訊協定**，選擇**電子郵件**。

1. 針對 **Endpoint (端點)**，輸入電子郵件地址。

1. 選擇**建立訂閱**。

1. 透過從 AWS 通知收到的電子郵件中選擇**確認訂閱**，以確認訂閱。

## 步驟 3：建立規則
<a name="eb-input-transformer-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. 針對**選取目標**，從下拉式清單中選擇 **SNS 主題**。

1. 針對**主題**，選取您在步驟 1 建立的 Amazon SNS 主題。在本教學課程中，選擇 **eventbridge-IT-test**。

1. 針對**其他設定**，請執行下列動作：

   1. 針對**設定目標輸入**，請從下拉式清單中選擇**輸入轉換器**。

   1. 選擇**設定輸入轉換器**。

   1. 針對**範例事件**，請輸入以下內容：

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

   1. 針對**目標輸入轉換器**，請執行下列動作：

      1. 針對**輸入路徑**，請輸入以下內容：

         ```
         {"detail-type":"$.detail-type"}
         ```

      1. 針對**輸入範本**，請輸入以下內容：

         ```
         "This event was of <detail-type> type."
         ```

   1. 選擇**確認**。

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

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

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

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

現在您已設定 SNS 主題和規則，我們將傳送測試事件以確保規則正常運作。

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

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="success"></a>

如果您收到與預期輸出相符的 AWS 通知電子郵件，表示您已成功完成教學課程。

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

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

**刪除 SNS 主題**

1. 開啟 SNS 主控台的[主題頁面](https://console.aws.amazon.com/sns/v3/home#/topics)。

1. 選取您建立的主題。

1. 選擇**刪除**。

1. 輸入 **delete me**。

1. 選擇**刪除**。

**刪除 SNS 訂閱**

1. 在 SNS 主控台開啟[訂閱頁面](https://console.aws.amazon.com/sns/v3/home#/subscriptions)。

1. 選取您建立的訂閱。

1. 選擇**刪除**。

1. 選擇**刪除**。

**刪除 EventBridge 規則**

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

1. 選取您建立的規則。

1. 選擇**刪除**。

1. 選擇**刪除**。