

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

# 使用進階建置器建立規則
<a name="eb-create-rule-wizard"></a>

若要對 Amazon EventBridge 收到的事件採取動作，您可以建立[規則](eb-rules.md)。當事件與您規則定義的[事件模式](eb-event-patterns.md)相符時，EventBridge 將事件發送到指定的[目標](eb-targets.md)並觸發規則中定義的動作。

下列步驟將逐步引導您如何建立 EventBridge 用來比對事件傳送至指定事件匯流排的規則。

**Topics**
+ [定義規則](#eb-create-rule-define)
+ [建置事件模式](#eb-create-rule-event-pattern)
+ [選取目標](#eb-create-rule-target)
+ [設定標籤和檢閱規則](#eb-create-rule-review)

## 定義規則
<a name="eb-create-rule-define"></a>

首先，輸入規則的名稱和說明以定義規則。您還必須定義事件匯流排，您的規則會在其中尋找與事件模式相符的事件。

**若要定義規則詳細資訊**

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

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

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

1. 在規則建置器選擇頁面上，選擇**進階建置器**。

   進階建置器針對規則和目標使用 JSON 模式和組態。若要改為使用視覺化畫布，請參閱[建立規則 （增強建置器）](eb-create-rule-visual.md)。

1. 輸入**名稱**，(選用) 輸入規則**描述**。

   規則不能與相同 AWS 區域 和相同事件匯流排上的另一個規則具有相同的名稱。

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

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

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

## 建置事件模式
<a name="eb-create-rule-event-pattern"></a>

接下來，建置事件模式。若要這麼做，請指定事件來源、選擇事件模式的基礎，然後定義要比對的屬性和值。您也可以在 JSON 中產生事件模式，並根據範例事件進行測試。

**若要建置事件模式**

1. 在**事件來源**欄位中，選擇 **AWS 事件或 EventBridge 合作夥伴事件**。

1. (選用 ) 在**範例事件**區段中，選擇您要測試事件模式的**範例事件類型**。

   可使用以下範例事件類型：
   + **AWS 事件 **– 從支援的事件中選取 AWS 服務。
   + **EventBridge 合作夥伴事件**：從支援 EventBridge 的第三方服務 (例如 Salesforce) 所發出的事件中選取。
   + **輸入我自己的**：以 JSON 文字輸入您自己的事件。

     您也可以使用 AWS 或 合作夥伴事件做為建立自訂事件的起點。

     1. 選取 **AWS 活動**或 **EventBridge 合作夥伴事件**。

     1. 使用**範例事件**下拉式清單，選取要用作自訂事件起點的事件。

        EventBridge 會顯示範例事件。

     1. 選取**複製**。

     1. 針對**事件類型**選取**輸入我自己的**。

     1. 在 JSON 編輯窗格中刪除範例事件結構，並將 AWS 或 合作夥伴事件貼到其位置。

     1. 編輯事件 JSON 以建立您自己的範例事件。

1. 選擇**建立方法**。您可以從 EventBridge 結構描述或範本建立事件模式，也可以建立自訂事件模式。

------
#### [ Existing schema ]

   若要使用現有的 EventBridge 結構描述建立事件模式，請執行下列動作：

   1. 在**建立方法**區段中，針對**方法**，選取**使用結構描述**。

   1. 在**事件模式**區段中，針對**結構描述類型**，選取**從結構描述登錄檔選取結構描述**。

   1. 針對**結構描述登錄檔**，選擇下拉式方塊，然後輸入結構描述登錄檔的名稱，例如 `aws.events`。您也可以從出現的下拉式清單中選取選項。

   1. 針對**結構描述**，選擇下拉式方塊，然後輸入要使用的結構描述名稱。例如 `aws.s3@ObjectDeleted`。您也可以從出現的下拉式清單中選取選項。

   1. 在**模型**區段中，選擇任何屬性旁的**編輯**按鈕以開啟其屬性內容。視需要設定**關係**與**值**欄位，然後選擇**設定**以儲存屬性。
**注意**  
如需有關屬性定義的資訊，請選擇屬性名稱旁邊的**資訊**圖示。如需有關如何在事件中設定屬性內容的參考資料，請開啟屬性內容對話方塊的**註記**區段。  
若要刪除屬性的内容，請選擇該屬性的**編輯**按鈕，然後選擇**清除**。

   1. 選擇**在 JSON 中產生事件模式**，以 JSON 文字產生並驗證您的事件模式。

   1. (選用) 若要根據您的測試模式測試範例事件，請選擇**測試模式**。

      EventBridge 會顯示一個訊息方塊，說明您的範例事件是否符合事件模式。

      您也可以選擇以下其中一個選項：
      + **複製**：將事件模式複製到設備的剪貼板。
      + **美化**：透過新增換行符號、定位鍵和空格鍵，讓 JSON 文字更易於閱讀。

------
#### [ Custom schema ]

   若要撰寫自訂結構描述並將其轉換為事件模式，請執行下列動作：

   1. 在**建立方法**區段中，針對**方法**，選擇**使用結構描述**。

   1. 在**事件模式**區段中，針對**結構描述類型**，選擇**輸入結構描述**。

   1. 將結構描述輸入文字方塊。您必須將結構描述格式化為有效的 JSON 文字。

   1. 在**模型**區段中，選擇任何屬性旁的**編輯**按鈕以開啟其屬性內容。視需要設定**關係**與**值**欄位，然後選擇**設定**以儲存屬性。
**注意**  
如需有關屬性定義的資訊，請選擇屬性名稱旁邊的**資訊**圖示。如需有關如何在事件中設定屬性內容的參考資料，請開啟屬性內容對話方塊的**註記**區段。  
若要刪除屬性的内容，請選擇該屬性的**編輯**按鈕，然後選擇**清除**。

   1. 選擇**在 JSON 中產生事件模式**，以 JSON 文字產生並驗證您的事件模式。

   1. (選用) 若要根據您的測試模式測試範例事件，請選擇**測試模式**。

      EventBridge 會顯示一個訊息方塊，說明您的範例事件是否符合事件模式。

      您也可以選擇以下其中一個選項：
      + **複製**：將事件模式複製到設備的剪貼板。
      + **美化**：透過新增換行符號、定位鍵和空格鍵，讓 JSON 文字更易於閱讀。

------
#### [ Event pattern ]

   若要以 JSON 格式撰寫自訂事件模式，請執行下列動作：

   1. 在**建立方法**區段中，針對**方法**，選擇**自訂模式 (JSON 編輯器)**。

   1. 針對**事件模式**，請在 JSON 格式文字中輸入您的自訂事件模式。

   1. (選用) 若要根據您的測試模式測試範例事件，請選擇**測試模式**。

      EventBridge 會顯示一個訊息方塊，說明您的範例事件是否符合事件模式。

      您也可以選擇以下其中一個選項：
      + **複製**：將事件模式複製到設備的剪貼板。
      + **美化**：透過新增換行符號、定位鍵和空格鍵，讓 JSON 文字更易於閱讀。
      + **事件模式表單**：打開模式生成器的事件模式。如果模式無法依原樣在模式產生器中呈現，EventBridge 會在開啟模式產生器之前警告您。

------

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

## 選取目標
<a name="eb-create-rule-target"></a>

選擇一或多個目標以接收符合指定模式的事件。目標可以包括 EventBridge 事件匯流排、EventBridge API 目的地，包括 SaaS 合作夥伴 (例如 Salesforce) 或其他 AWS 服務。

**若要選取目標**

1. 針對**目標類型**，請選擇下列其中一個：

------
#### [ Event bus ]

   1. 選取 **EventBridge 事件匯流排**。

   1. 選擇要用作目標的事件匯流排。
      + 若要在與此規則 AWS 區域 相同的 中使用事件匯流排：

        1. 選取**相同帳戶和區域中的事件匯流排**。

        1. 針對**目標的事件匯流排**，選擇下拉式方塊並輸入事件匯流排的名稱。您也可以從下拉式清單中選取事件匯流排。

           如需詳細資訊，請參閱[在相同帳戶中的事件匯流排與 Amazon EventBridge 中的區域之間傳送事件](eb-bus-to-bus.md)。
      + 若要使用不同 AWS 區域 或帳戶中的事件匯流排做為此規則：

        1. 選取**不同帳戶或地區中的事件匯流排**。

        1. 針對**作為目標的事件匯流排**，輸入您要使用的事件匯流排的 ARN。

           如需詳細資訊，請參閱：
           + [在 Amazon EventBridge 中的 AWS 帳戶之間傳送和接收事件](eb-cross-account.md)
           + [在 Amazon EventBridge 中的 AWS 區域之間傳送和接收事件](eb-cross-region.md)

   1. 對於許多目標類型而言，EventBridge 需要許可才能將事件傳送到目標。在這些情況下，EventBridge 可建立執行您的規則所需的 IAM 角色。

      針對**執行角色**，執行下列任何一項：
      + 若要為此規則建立新的執行角色：

        1. 選取**為此特定資源建立新角色**。

        1. 輸入此執行角色的名稱，或使用 EventBridge 產生的名稱。
      + 若要針對此規則使用現有的執行角色：

        1. 選取**使用現有角色**。

        1. 從下拉式清單中輸入或選取要使用的執行角色名稱。

   1. (選用) 在**其他設定**中，指定任何可供您目標類型使用的選擇性設定：

      (選用) 針對**無效字母佇列**，選擇是否使用標準 Amazon SQS 佇列做為無效字母佇列。若與此規則匹配的事件未成功傳送到目標，則 EventBridge 會將其傳送至無效字母佇列。執行以下任意一項：
      + 選擇**無**，即不使用無效字母佇列。
      + 選擇**選取當前 AWS 帳戶中的 Amazon SQS 佇列以用作無效字母佇列**，然後從下拉式清單中選取要使用的佇列。
      + 選擇**選取其他 AWS 帳戶中的 Amazon SQS 佇列做為無效字母佇列**，然後輸入要使用的佇列的 ARN。您必須將以資源為基礎政策連接到佇列，而且該佇列授與 EventBridge 向其傳送簡訊的許可。

        如需詳細資訊，請參閱[將許可授予無效字母佇列](eb-rule-dlq.md#eb-dlq-perms)。

------
#### [ API destination ]

   1. 選取 **EventBridge API 目的地**。

   1. 選擇新的或現有的 API 目的地：
      + 若要使用現有的 API 目的地，請選取**使用現有的 API 目的地**。然後從下拉式清單中選取 API 目標。
      + 若要建立新的 API 目的地，請選取**建立新的 API 目的地**。接下來，為目的地提供以下詳細資訊：
        + **名稱**：輸入目的地名稱。

          名稱在您的 AWS 帳戶內必須是獨一無二的。名稱長度最長可達 64 個字元。有效字元為 **A-Z**、**a-z**、**0-9** 和 ** **** ** **-** (連字號)。
        + (選用) **說明**：請輸入目的地的說明。

          說明最多可有 512 個字元。
        + **API 目標端點**：目標的 URL 端點。

          端點 URL 必須以 **https** 開頭。您可以包含 **\*** 作為路徑參數萬用字元。您可以從目標的 `HttpParameters` 屬性設置路徑參數。
        + **HTTP 方法**：選取調用端點時使用的 HTTP 方法。
        + (選用) **每秒調用速率限制**：輸入此目的地每秒可接受的調用數目上限。

          該值必須大於零。依預設，此值設為 300。
        + **連線**：選擇使用新的或現有的連線：
          + 若要使用現有的連線，請選取**使用現有連線**，然後從下拉式清單中選取連線。
          + 若要為此目的地建立新連線，請選取**建立新連線**，然後定義連線的**名稱**、**目的地類型**和**授權類型**。您也可以為此連線新增選擇性的**描述**。

   1. 對於許多目標類型而言，EventBridge 需要許可才能將事件傳送到目標。在這些情況下，EventBridge 可建立執行您的規則所需的 IAM 角色。

      針對**執行角色**，執行下列任何一項：
      + 若要為此規則建立新的執行角色：

        1. 選取**為此特定資源建立新角色**。

        1. 輸入此執行角色的名稱，或使用 EventBridge 產生的名稱。
      + 若要針對此規則使用現有的執行角色：

        1. 選取**使用現有角色**。

        1. 從下拉式清單中輸入或選取要使用的執行角色名稱。

   1. (選用) 在**其他設定**中，指定任何可供您目標類型使用的選擇性設定：

      請注意，EventBridge 可能不會顯示指定 AWS 服務的所有下列欄位。

      1. (選用) 對於設定目標輸入，請選擇您要如何自訂傳送至目標的文字以進行相符事件。選擇下列其中一項：
         + **符合的事件**：EventBridge 會將整個原始來源事件傳送至目標。這是預設值。
         + **相符事件的一部分**：EventBridge 只會將原始來源事件的指定部分傳送至目標。

           在**指定相符事件的部分**下，指定定義您希望 EventBridge 傳送至目標之事件部分的 JSON 路徑。
         + **常數 (JSON 文字)**：EventBridge 只會將指定的 JSON 文字傳送至目標。不會傳送原始來源事件的任何部分。

           **在 JSON 中指定常數**下，指定您希望 EventBridge 傳送到目標而非事件的 JSON 文字。
         + **輸入轉換器**：設定輸入轉換器，以自訂您希望 EventBridge 傳送至目標的文字。如需詳細資訊，請參閱[Amazon EventBridge 輸入轉換](eb-transform-target-input.md)。

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

           1. 按照中的步驟配置輸入轉換器 [在 EventBridge 中建立規則時設定輸入轉換器](eb-transform-input-rule.md)。

      1. (選用) 在**「重試」政策**下，指定 EventBridge 在發生錯誤後如何重試將事件傳送至目標。
         + **最長事件保留時間**：輸入 EventBridge 保留未處理事件的時間上限 (以小時、分鐘和秒為單位)。預設值為 24 小時。
         + **重試嘗試**：輸入發生錯誤後，EventBridge 應該重試將事件傳送至目標的次數上限。預設值為 185 次。

      1. (選用) 針對**無效字母佇列**，選擇是否使用標準 Amazon SQS 佇列做為無效字母佇列。若與此規則匹配的事件未成功傳送到目標，則 EventBridge 會將其傳送至無效字母佇列。執行以下任意一項：
         + 選擇**無**，即不使用無效字母佇列。
         + 選擇**目前 AWS 帳戶中的選取 Amazon SQS 佇列以用作無效字母佇列**，然後從下拉式清單中選取要使用的佇列。
         + 選擇**選取其他 AWS 帳戶中的 Amazon SQS 佇列做為無效字母佇列**，然後輸入要使用的佇列的 ARN。您必須將以資源為基礎政策連接到佇列，而且該佇列授與 EventBridge 向其傳送簡訊的許可。

           如需詳細資訊，請參閱[將許可授予無效字母佇列](eb-rule-dlq.md#eb-dlq-perms)。

   如需詳細資訊，請參閱[作為 Amazon EventBridge 中目標的 API 目的地](eb-api-destinations.md)。

------
#### [ AWS 服務 ]

   1. 選取 **AWS 服務**。

   1. 針對**選取目標**，請選取 AWS 服務 要用作目標的目標。

   1. 如果您選擇支援跨帳戶目標 AWS 的服務，您可以在與事件匯流排相同的帳戶中選取目標，或選取不同的帳戶。
      + 對於相同帳戶中的目標，針對**目標類型**選取**此帳戶中的目標**。

        1. 提供您所選取服務所要求的資訊。
**注意**  
顯示的欄位會因選擇的服務而異。如需目標的詳細資訊，請參閱 [EventBridge 主控台中可用的事件匯流排目標](eb-targets.md#eb-console-targets)。

        1. 對於許多目標類型而言，EventBridge 需要許可才能將事件傳送到目標。在這些情況下，EventBridge 可建立執行您的規則所需的 IAM 角色。

           針對**執行角色**，執行下列任何一項：
           + 若要為此規則建立新的執行角色：

             1. 選取**為此特定資源建立新角色**。

             1. 輸入此執行角色的名稱，或使用 EventBridge 產生的名稱。
           + 若要針對此規則使用現有的執行角色：

             1. 選取**使用現有角色**。

             1. 從下拉式清單中輸入或選取要使用的執行角色名稱。
      + 對於不同帳戶中的目標，針對**目標類型**選取**另一個帳戶中的目標 AWS **。

        1. 輸入您要傳送事件的目標資源 ARN。

        1. 提供您為所選服務請求的任何其他資訊。

        1. 從下拉式清單中選取要使用的執行角色名稱。

   1. (選用) 在**其他設定**中，指定任何可供您目標類型使用的選擇性設定：

      1. (選用) 對於設定目標輸入，請選擇您要如何自訂傳送至目標的文字以進行相符事件。選擇下列其中一項：
         + **符合的事件**：EventBridge 會將整個原始來源事件傳送至目標。這是預設值。
         + **相符事件的一部分**：EventBridge 只會將原始來源事件的指定部分傳送至目標。

           在**指定相符事件的部分**下，指定定義您希望 EventBridge 傳送至目標之事件部分的 JSON 路徑。
         + **常數 (JSON 文字)**：EventBridge 只會將指定的 JSON 文字傳送至目標。不會傳送原始來源事件的任何部分。

           **在 JSON 中指定常數**下，指定您希望 EventBridge 傳送到目標而非事件的 JSON 文字。
         + **輸入轉換器**：設定輸入轉換器，以自訂您希望 EventBridge 傳送至目標的文字。如需詳細資訊，請參閱[Amazon EventBridge 輸入轉換](eb-transform-target-input.md)。

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

           1. 按照中的步驟配置輸入轉換器 [在 EventBridge 中建立規則時設定輸入轉換器](eb-transform-input-rule.md)。

      1. (選用) 在**「重試」政策**下，指定 EventBridge 在發生錯誤後如何重試將事件傳送至目標。
         + **最長事件保留時間**：輸入 EventBridge 保留未處理事件的時間上限 (以小時、分鐘和秒為單位)。預設值為 24 小時。
         + **重試嘗試**：輸入發生錯誤後，EventBridge 應該重試將事件傳送至目標的次數上限。預設值為 185 次。

      1. (選用) 針對**無效字母佇列**，選擇是否使用標準 Amazon SQS 佇列做為無效字母佇列。若與此規則匹配的事件未成功傳送到目標，則 EventBridge 會將其傳送至無效字母佇列。執行以下任意一項：
         + 選擇**無**，即不使用無效字母佇列。
         + 選擇**目前 AWS 帳戶中的選取 Amazon SQS 佇列以用作無效字母佇列**，然後從下拉式清單中選取要使用的佇列。
         + 選擇**選取其他 AWS 帳戶中的 Amazon SQS 佇列做為無效字母佇列**，然後輸入要使用的佇列的 ARN。您必須將以資源為基礎政策連接到佇列，而且該佇列授與 EventBridge 向其傳送簡訊的許可。

           如需詳細資訊，請參閱 [將許可授予無效字母佇列](eb-rule-dlq.md#eb-dlq-perms)。

------

1. (選用) 選擇**新增其他目標**，為此規則新增另一個目標。

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

## 設定標籤和檢閱規則
<a name="eb-create-rule-review"></a>

最後，為規則輸入任何想要的標籤，然後檢閱並建立規則。

**若要設定標籤，以及檢閱和建立規則**

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

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

1. 檢閱新規則的詳細資料。若要對區段進行變更，請為要編輯的區段選擇**編輯**按鈕。

   如果您滿意規則詳細資訊，請選擇**建立規則**。