

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

# 建立 Amazon EventBridge 管道
<a name="eb-pipes-create"></a>

EventBridge 管道可讓您在來源和目標之間建立點對點整合，包括進階事件轉換和擴充。

若要建立 EventBridge 管道，請執行下列步驟：

1. [指定來源](#pipes-configure-source)

1. [設定事件篩選 (選用)](#pipes-configure-filtering)

1. [定義事件擴充 (選用)](#pipes-define-enrichment)

1. [設定目標](#pipes-configure-target)

1. [規劃管道設定](#pipes-configure-pipe-settings)

若要快速設定範例管道，請參閱 [入門：建立 Amazon EventBridge 管道](pipes-get-started.md)。本主題使用 CloudFormation 來部署管道及其相關資源，並引導您了解管道的功能概觀。

如需有關如何使用 CLI AWS 建立管道的資訊，請參閱 *AWS CLI 命令參考*中的 [create-pipe](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/pipes/create-pipe.html)。

## 指定來源
<a name="pipes-configure-source"></a>

若要開始，請指定管道接收事件的來源。

**使用控制台指定管道來源的步驟**

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

1. 在導覽窗格中，選擇**管道**。

1. 選擇**建立管道**。

1. 輸入管道的名稱。

1. (選用) 輸入管道的描述。

1. 在**建立管道**頁籤上，針對**來源**，選擇要為此管指定的來源類型，然後規劃來源。

   組態屬性會因您選擇的來源類型而有所不同：

------
#### [ Confluent ]

**若要使用主控台將 Confluent Cloud 串流設定為來源**

   1. 針對**來源**，選擇 **Confluent Cloud**。

   1. 針對**引導伺服器**，輸入您的經紀人的 `host:port` 對地址。

   1. 在**主題名稱**中，輸入管道將從中讀取的主題名稱。

   1. (選用) 針對 **VPC**，選擇您要的 VPC。然後，針對 **VPC 子網路**，選擇所需的子網路。針對 **VPC 安全群組**，請選擇安全群組。

   1. 對於**身分驗證 - 選用**，開啟**使用身分驗證**並執行下列動作：

      1. 針對**驗證方法**，請選擇驗證類型。

      1. 針對**秘密金鑰**，請選擇秘密金鑰。

      如需詳細資訊，請參閱 [Confluent 文件中的向 Confluent Cloud 資源進行身分驗證](https://docs.confluent.io/cloud/current/access-management/authenticate/overview.html)。

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

      1. 針對**起始位置**，選擇下列的一或多個選項：
         + **最新**：使用碎片中的最新記錄開始讀取串流。
         + **修剪水平線**：使用碎片中最後一個未修剪的記錄開始讀取串流。這是碎片中最古老的記錄。

      1. 針對**批次大小 - 選用**，輸入每個批次的最大記錄數。預設值為 100.

      1. 若為**批次視窗 - 選用**，請輸入在繼續之前收集記錄的秒數上限。

------
#### [ DynamoDB ]

   1. 針對**來源**，選擇 **DynamoDB**。

   1. 針對 **DynamoDB 串流**，請選擇您要用作來源的串流。

   1. 針對**起始位置**，選擇下列的一或多個選項：
      + **最新**：使用碎片中的最新記錄開始讀取串流。
      + **修剪水平線**：使用碎片中最後一個未修剪的記錄開始讀取串流。這是碎片中最古老的記錄。

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

      1. 針對**批次大小 - 選用**，輸入每個批次的最大記錄數。預設值為 10。

      1. 若為**批次視窗 - 選用**，請輸入在繼續之前收集記錄的秒數上限。

      1. 針對**每個碎片的並行批次 - 選用 **，輸入可同時讀取的相同碎片中的批次數。

      1. 針對**部份批次料號失敗時**，請選擇下列項目：
         + **AUTOMATIC\$1BISECT**：將每個批次減半並分別重試，直到處理完所有記錄或批次中剩下一則失敗訊息為止。
**注意**  
如果您沒有選擇 **AUTOMATIC\$1BISECT**，您可以傳回特定失敗的記錄，而且只有那些記錄會重試。

------
#### [ Kinesis ]

**若要使用主控台設定 Kinesis 來源**

   1. 針對**來源**，選擇 **Kinesis**。

   1. 針對 **Kinesis 串流**，請選擇您要用作來源的串流。

   1. 針對**起始位置**，選擇下列的一或多個選項：
      + **最新**：使用碎片中的最新記錄開始讀取串流。
      + **修剪水平線**：使用碎片中最後一個未修剪的記錄開始讀取串流。這是碎片中最古老的記錄。
      + **在時間戳記**：從指定的時間開始讀取串流。在**時間戳記**下，使用 YYYY/MM/DD 和 HH: mm: ss 格式輸入資料和時間。

   1. (選用) 針對 **Additional settings (其他設定)**，執行下列動作：

      1. 針對**批次大小 - 選用**，輸入每個批次的最大記錄數。預設值為 10。

      1. (選用) 若為**批次視窗 - 選用**，請輸入在繼續之前收集記錄的秒數上限。

      1. 針對**每個碎片的並行批次 - 選用 **，輸入可同時讀取的相同碎片中的批次數。

      1. 針對**部份批次料號失敗時**，請選擇下列項目：
         + **AUTOMATIC\$1BISECT**：將每個批次減半並分別重試，直到處理完所有記錄或批次中剩下一則失敗訊息為止。
**注意**  
如果您沒有選擇 **AUTOMATIC\$1BISECT**，您可以傳回特定失敗的記錄，而且只有那些記錄會重試。

------
#### [ Amazon MQ ]

**若要使用主控台設定 Amazon MQ 來源**

   1. 針對**來源**，選擇 **Amazon MQ**。

   1. 針對 **Amazon MQ 中介**，請選擇您要用作來源的串流。

   1. 在**佇列名稱**中，輸入管道將從中讀取的佇列名稱。

   1. 針對**驗證方法**，請選擇**基本驗證**。

   1. 針對**秘密金鑰**，請選擇秘密金鑰。

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

      1. 針對**批次大小 - 選用**，輸入每個批次的最大訊息數。預設值為 100.

      1. 若為**批次視窗 - 選用**，請輸入在繼續之前收集記錄的秒數上限。

------
#### [ Amazon MSK ]

**若要使用主控台設定 Amazon MSK 來源**

   1. 針對**來源**，選擇 **Amazon MSK**。

   1. 針對 **Amazon MSK 叢集**，選擇要開啟的叢集。

   1. 在**主題名稱**中，輸入管道將從中讀取的主題名稱。

   1. (選用) 針對**取用者群組 ID**，輸入要加入的取用者群組 ID。

   1. (選用) 針對**驗證 - 選用**，請開啟**使用驗證**並執行下列動作：

      1. 針對**驗證方法**，選擇您想要的類型。

      1. 針對**秘密金鑰**，請選擇秘密金鑰。

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

      1. 針對**批次大小 - 選用**，輸入每個批次的最大記錄數。預設值為 100.

      1. 若為**批次視窗 - 選用**，請輸入在繼續之前收集記錄的秒數上限。

      1. 針對**起始位置**，選擇下列的一或多個選項：
         + **最新**：使用碎片中最新記錄開始閱讀主題。
         + **修剪水平線**：使用碎片中最後一個未修剪的記錄開始讀取主題。這是碎片中最古老的記錄。
**注意**  
針對 Apache Kafka，**修剪地平線**與**最早**是相同的。

------
#### [ Self managed Apache Kafka ]

**若要使用主控台設定自我管理的 Apache Kafka 來源**

   1. 針對**源**，選擇**自我管理 Apache Kafka**。

   1. 針對**引導伺服器**，輸入您的經紀人的 `host:port` 對地址。

   1. 在**主題名稱**中，輸入管道將從中讀取的主題名稱。

   1. (選用) 針對 **VPC**，選擇您要的 VPC。然後，針對 **VPC 子網路**，選擇所需的子網路。針對 **VPC 安全群組**，請選擇安全群組。

   1. (選用) 針對**驗證 - 選用**，請開啟**使用驗證**並執行下列動作：

      1. 針對**驗證方法**，請選擇驗證類型。

      1. 針對**秘密金鑰**，請選擇秘密金鑰。

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

      1. 針對**起始位置**，選擇下列的一或多個選項：
         + **最新**：使用碎片中的最新記錄開始讀取串流。
         + **修剪水平線**：使用碎片中最後一個未修剪的記錄開始讀取串流。這是碎片中最古老的記錄。

      1. 針對**批次大小 - 選用**，輸入每個批次的最大記錄數。預設值為 100.

      1. 若為**批次視窗 - 選用**，請輸入在繼續之前收集記錄的秒數上限。

------
#### [ Amazon SQS ]

**若要使用主控台設定 Amazon SQS 來源**

   1. 針對**來源**，選擇 **SQS**。

   1. 針對 **SQS 佇列**，請選擇要使用的佇列。

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

      1. 針對**批次大小 - 選用**，輸入每個批次的最大記錄數。預設值為 100.

      1. 若為**批次視窗 - 選用**，請輸入在繼續之前收集記錄的秒數上限。

------

## 設定事件篩選 (選用)
<a name="pipes-configure-filtering"></a>

您可以將篩選新增至管道，以便只將一部分事件從來源傳送至目標。

**若要使用主控台設定篩選條件**

1. 選擇**篩選**。

1. 在**範例事件 - 選用**下，您會看到可用來建立事件模式的範例事件，或者您可以選擇**輸入您自己的事件**來輸入您自己的事件。

1. 在**事件模式**底下，輸入您要用來篩選事件的事件模式。如需建構篩選條件的詳細資訊，請參閱 [Amazon EventBridge 管道中的事件篩選](eb-pipes-event-filtering.md)。

   下列範例事件模式只會傳送**城市**欄位中值為**西雅圖**的事件。

   ```
   {
     "data": {
       "City": ["Seattle"]
     }
   }
   ```

現在正在篩選事件，您可以為管道新增選擇性的擴充和目標。

## 定義事件擴充 (選用)
<a name="pipes-define-enrichment"></a>

您可以傳送事件資料以擴充 Lambda 函數、 AWS Step Functions 狀態機器、Amazon API Gateway 或 API 目的地。

**若要選取擴充**

1. 選擇**擴充**。

1. 在**詳細資料**下，針對**服務**，選取您要用於擴充的服務和相關設定。

您還可以在發送資料以進行增強之前對其進行轉換。

**(選用) 定義輸入轉換器**

1. 選擇**擴充輸入轉換器 - 選用**。

1. 針對**範例事件/事件裝載**，選擇範例事件類型。

1. 在**轉換器**中，輸入轉換器語法，例如，在 `"Event happened at <$.detail.field>."` 中，`<$.detail.field>` 是範例事件中欄位的參考。您也可以按兩下範例事件中的欄位，將其新增至轉換器。

1. 針對**輸出**，請確認輸出看起來像您想要的那樣。

現在資料已經過篩選和增強，您必須定義要將事件資料傳送至的目標。

## 設定目標
<a name="pipes-configure-target"></a>

**若要設定目標**

1. 選擇 **Target (目標)**。

1. 在**詳細資訊**下，針對**目標服務**，選擇目標。顯示的欄位會隨您選擇的目標而異。請視需要輸入此目標類型的特定資訊。

您還可以在向目標發送資料之前對其進行轉換。

**(選用) 定義輸入轉換器**

1. 選擇**目標輸入轉換器 - 選用**。

1. 針對**範例事件/事件裝載**，選擇範例事件類型。

1. 在**轉換器**中，輸入轉換器語法，例如，在 `"Event happened at <$.detail.field>."` 中，`<$.detail.field>` 是範例事件中欄位的參考。您也可以按兩下範例事件中的欄位，將其新增至轉換器。

1. 針對**輸出**，請確認輸出看起來像您想要的那樣。

現在已規劃管道，請確保其設定已正確規劃。

## 規劃管道設定
<a name="pipes-configure-pipe-settings"></a>

依預設，管道處於作用中狀態，但您可以將其停用。您還可以指定管的權限、設置管道日誌和加入標籤。

**規劃管道設定**

1. 選擇**管道設定**標籤。

1. 根據預設，新建立的管道在建立後立即處於作用中狀態。如果要建立非作用中的管道，請在**啟用**下，針對**啟用管道**，關閉**作用中**。

1. 在**權限**下，針對**執行角色**，執行下列其中一項作業：

   1. 若要讓 EventBridge 為該管道建立新的執行角色，請選擇**為特定資源建立新角色**。在**角色名稱**底下，您可以選擇性地編輯角色名稱。

   1. 若要使用現有的角色，選擇**使用現有的角色**。在**角色名稱**下，選擇角色。

1. （選用） 如果您已指定 Kinesis 或 DynamoDB 串流做為管道來源，您可以設定重試政策和無效字母佇列 (DLQ)。

   針對**重試政策和無效字母佇列 - 選用**，請執行下列動作：

   在**重試政策**下，執行下列操作：

   1. 如果您想開啟重試政策，請開啟**重試**。根據預設，新建立的管道未開啟重試原則。

   1. 針對**事件的最長存留期**，輸入介於一分鐘 (00:01) 到 24 小時 (24:00) 之間的某個值。

   1. 針對**重試嘗試**，輸入介於 0 到 185 之間的某個數。

   1. 如果您想要使用無效字母佇列 (DLQ)，請開啟**無效字母佇列**，選擇您選擇的方法，然後選擇要使用的佇列或主題。根據預設，新建立的管道不使用 DLQ。

1. 選擇加密管道資料時 EventBridge 要使用 KMS key 的 。

   如需 EventBridge 使用方式的詳細資訊 KMS keys，請參閱 [靜態加密](eb-data-protection.md#eb-encryption-at-rest)。
   + 選擇**使用 AWS 擁有的金鑰** EventBridge 以使用 加密資料 AWS 擁有的金鑰。

      AWS 擁有的金鑰 這是 KMS key EventBridge 擁有和管理以在多個 AWS 帳戶中使用的 。一般而言，除非您需要稽核或控制保護 資源的加密金鑰，否則 AWS 擁有的金鑰 是不錯的選擇。

     這是預設值。
   + 選擇**使用 客戶受管金鑰** EventBridge 以使用您指定或建立 客戶受管金鑰 的 來加密資料。

     客戶受管金鑰 KMS keys 位於您建立、擁有和管理的 AWS 帳戶中。您可以完全控制這些項目 KMS keys。

     1. 指定現有的 客戶受管金鑰，或選擇**建立新的 KMS key** 。

       EventBridge 會顯示金鑰狀態，以及與指定 相關聯的任何金鑰別名 客戶受管金鑰。

1. (選用) 在**記錄 - 選用**底下，您可以設定 EventBridge 管道如何將日誌資訊傳送至支援的服務，包括如何設定這些日誌。

   如需記錄管道日誌的詳細資訊，請參閱 [記錄 Amazon EventBridge 管道效能](eb-pipes-logs.md)。

   CloudWatch 根據預設，日誌會選取為日誌目的地，`ERROR`日誌層級也是。因此，根據預設， EventBridge Pipes 會建立新的 CloudWatch 日誌群組，將包含詳細資訊`ERROR`層級的日誌記錄傳送到其中。

   若要讓 EventBridge 管道將日誌記錄傳送至任何支援的日誌目的地，請執行下列動作：

   1. 在**日誌 - 選用**底下，選擇要傳送日誌檔記錄的目的地。

   1. 針對**日誌層級**，選擇要 EventBridge 包含在日誌記錄中的資訊層級。預設會選取 `ERROR` 日誌層級。

      如需詳細資訊，請參閱[指定 EventBridge 管道日誌層級](eb-pipes-logs.md#eb-pipes-logs-level)。

   1. 如果您想要 EventBridge 在日誌記錄中包含事件承載資訊和服務請求和回應資訊，請選取**包含執行資料**。

      如需詳細資訊，請參閱[在 EventBridge 管道日誌中包含執行資料](eb-pipes-logs.md#eb-pipes-logs-execution-data)。

   1. 設定您選取的每個日誌目的地：

      對於 CloudWatch Logs 日誌，在**CloudWatch 日誌**下執行下列動作：
      + 對於**CloudWatch 日誌群組**，選擇是否 EventBridge 建立新的日誌群組，或者您可以選擇現有的日誌群組，或指定現有日誌群組的 ARN。
      + 針對新的日誌群組，請視需要編輯日誌群組名稱。

      CloudWatch 預設會選取 日誌。

      對於 Firehose 串流日誌，在**Firehose 串流日誌**下，選取 Firehose 串流。

      對於 Amazon S3 日誌，在 **S3 日誌**下執行下列動作：
      + 輸入儲存貯體的名稱來作為日誌目的地使用。
      + 輸入儲存貯體擁有者 AWS 的帳戶 ID。
      + 輸入 EventBridge 建立 S3 物件時要使用的任何首碼文字。

        如需詳細資訊，請參閱《Amazon Simple Storage Service 使用者指南》**中的[利用首字組織物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)。
      + 選擇您要 EventBridge 格式化 S3 日誌記錄的方式：
        + `json`：JSON 
        + `plain`：純文字
        + `w3c`：[W3C 擴充日誌檔案格式](https://www.w3.org/TR/WD-logfile)

1. (選用) 在**標籤 - 選用**底下選擇**新增標籤**並為規則輸入一個或多個標籤。如需詳細資訊，請參閱[在 Amazon EventBridge 中標記資源](eb-tagging.md)。

1. 選擇**建立管道**。

## 驗證組態參數
<a name="pipes-validation"></a>

建立管道之後，EventBridge 會驗證下列組態參數：
+ **IAM 角色**：由於管道建立後無法變更管道的來源，因此 EventBridge 會驗證提供的 IAM 角色是否可以存取來源。
**注意**  
EventBridge 不會對擴充或目標執行相同的驗證，因為它們可以在建立管道之後進行更新。
+ **批次處理**：EventBridge 會驗證來源的批次大小是否超過目標的最大批次大小。如果是這樣，EventBridge 需要較低的批次大小。此外，如果目標不支援批次處理，您就無法在 EventBridge 中為來源設定批次處理。
+ **擴充**：EventBridge 會驗證 API Gateway 和 API 目的地擴充的批次大小是否為 1，因為只支援大小為 1 的批次。