建立回應事件的 Amazon EventBridge 規則。 - Amazon EventBridge

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

建立回應事件的 Amazon EventBridge 規則。

若要對 Amazon EventBridge 接收到的事件採取行動,您可以建立規則。當事件與您規則定義的事件模式相符時,EventBridge 將事件發送到指定的目標並觸發規則中定義的動作。

下列視頻將探討如何建立不同類型的規則,以及如何測試它們:

建立適用事件回應的規則

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

定義規則

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

若要定義規則的詳細資訊
  1. https://console.aws.amazon.com/events/ 開啟 Amazon EventBridge 主控台。

  2. 在導覽窗格中,選擇 Rules (規則)

  3. 選擇 Create rule (建立規則)

  4. 輸入 Name (名稱),(可選) 輸入規則描述

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

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

  6. 針對 Rule type (規則類型) 選擇 Rule with an event pattern (具有事件模式的規則)

  7. 選擇 Next (下一步)

建置事件模式

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

若要建置事件模式
  1. Event source (事件來源) 欄位中,選擇 AWS events or EventBridge partner events (事件或 EventBridge 合作夥伴事件)

  2. (可選) 在範例事件區段中,選擇您要測試事件模式的範例事件類型

    可使用以下範例事件類型:

    • AWS 事件:從支援 AWS 服務 發出的事件中選取。

    • EventBridge 合作夥伴事件:從支援 EventBridge 的第三方服務 (例如 Salesforce) 所發出的事件中選取。

    • 輸入我自己的:以 JSON 文字輸入您自己的事件。

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

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

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

        EventBridge 會顯示範例事件。

      3. 選取複製

      4. 針對事件類型選取輸入我自己的

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

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

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

    Existing schema

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

    1. 建立方法區段中,對於方法,選取使用結構描述

    2. 事件模式區段中,對於結構描述類型,選取從結構描述登錄檔選取結構描述

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

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

    5. 模型區段中,選擇任何屬性旁的編輯按鈕以開啟其屬性內容。視需要設定關係欄位,然後選擇設定以儲存屬性。

      注意

      如需有關屬性定義的資訊,請選擇屬性名稱旁邊的資訊圖示。如需有關如何在事件中設定屬性內容的參考資料,請開啟屬性內容對話方塊的註記區段。

      若要刪除屬性的内容,請選擇該屬性的編輯按鈕,然後選擇清除

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

    7. (可選) 若要根據您的測試模式測試範例事件,請選擇測試模式

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

      您也可以選擇以下其中一個選項:

      • 複製:將事件模式複製到設備的剪貼板。

      • 美化:透過新增換行符號、定位鍵和空格鍵,讓 JSON 文字更易於閱讀。

    Custom schema

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

    1. 建立方法區段中,對於方法,選擇使用結構描述

    2. 事件模式區段中,對於結構描述類型,選擇輸入結構描述

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

    4. 模型區段中,選擇任何屬性旁的編輯按鈕以開啟其屬性內容。視需要設定關係欄位,然後選擇設定以儲存屬性。

      注意

      如需有關屬性定義的資訊,請選擇屬性名稱旁邊的資訊圖示。如需有關如何在事件中設定屬性內容的參考資料,請開啟屬性內容對話方塊的註記區段。

      若要刪除屬性的内容,請選擇該屬性的編輯按鈕,然後選擇清除

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

    6. (可選) 若要根據您的測試模式測試範例事件,請選擇測試模式

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

      您也可以選擇以下其中一個選項:

      • 複製:將事件模式複製到設備的剪貼板。

      • 美化:透過新增換行符號、定位鍵和空格鍵,讓 JSON 文字更易於閱讀。

    Event pattern

    若要撰寫 JSON 格式的自訂事件模式,請執行下列動作:

    1. 建立方法區段中,對於方法,選擇自訂模式 (JSON 編輯器)

    2. 對於事件模式,請在 JSON 格式文字中輸入您的自訂事件模式。

    3. (可選) 若要根據您的測試模式測試範例事件,請選擇測試模式

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

      您也可以選擇以下其中一個選項:

      • 複製:將事件模式複製到設備的剪貼板。

      • 美化:透過新增換行符號、定位鍵和空格鍵,讓 JSON 文字更易於閱讀。

      • 事件模式表單:打開模式生成器的事件模式。如果模式無法依原樣在「模式產生器」中呈現,EventBridge 會在開啟「模式產生器」之前警告您。

  4. 選擇 Next (下一步)

選取目標

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

若要選取目標
  1. 對於目標類型,請選擇下列其中一個:

    Event bus

    若要選取 EventBridge 事件匯流排,請選取事件 EventBridge 事件匯流排,然後執行下列動作:

    API destination

    若要使用 EventBridge API 目的地,請選取 EventBridge API 目的地,然後執行下列其中一個動作:

    • 若要使用現有的 API 目的地,請選取使用現有的 API 目的地。然後從下拉式清單中選取 API 目標。

    • 若要建立新的 API 目的地,請選取建立新的 API 目的地。接下來,為目的地提供以下詳細資訊:

      • Name (名稱):輸入目的地名稱。

        名稱在您的 AWS 帳戶 內必須是獨一無二的。名稱長度最長可達 64 個字元。有效字元為 A-Za-z0-9 - (連字號)。

      • (選用) 說明:請輸入目的地的說明。

        說明最多可有 512 個字元。

      • API 目標端點:目標的 URL 端點。

        端點 URL 必須以 https 開頭。您可以包含 * 作為路徑參數萬用字元。您可以從目標的 HttpParameters 屬性設置路徑參數。

      • HTTP 方法:選取調用端點時使用的 HTTP 方法。

      • (選用) 每秒調用速率限制:輸入此目的地每秒可接受的調用數目上限。

        該值必須大於零。依預設,此值設為 300。

      • 連線:選擇使用新的或現有的連線:

        • 若要使用現有的連線,請選取使用現有連線,然後從下拉式清單中選取連線。

        • 若要為此目的地建立新連線,請選取建立新連線,然後定義連線的名稱目的地類型授權類型。您也可以為此連線新增選擇性的描述

    如需更多詳細資訊,請參閱 API 目的地

    AWS 服務

    若要使用 AWS 服務,請選取 AWS 服務,然後執行下列動作:

    1. 對於選取目標,請選取 AWS 服務 要用作目標的目標。提供您所選服務所要求的資訊。

      注意

      顯示的欄位會因選擇的服務而異。如需目標的詳細資訊,請參閱 EventBridge 控制台中可用的目標

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

    對於 Execution role (執行角色),執行下列任何一項:

    • 若要為此規則建立新的執行角色:

      1. 選取 Create a new role for this specific resource (為此特定資源建立新角色)

      2. 輸入此執行角色的名稱,或使用 EventBridge 產生的名稱。

    • 若要針對此規則使用現有的執行角色:

      1. 選取使用現有角色

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

  3. (選用) 在其他設定中,指定任何可供您目標類型使用的選擇性設定:

    Event bus

    (選用) 針對 Dead-letter queue (無效字母佇列),選擇是否使用標準 Amazon SQS 佇列做為無效字母佇列。若與此規則匹配的事件未成功傳送到目標,則 EventBridge 會將其傳送至無效字母佇列。執行下列任意一項:

    • 選擇 None (無),即不使用無效字母佇列。

    • 選擇 Select an Amazon SQS queue in the current AWS account to use as the dead-letter queue (選擇當前 AWS 帳戶中的 Amazon SQS 佇列以用作無效字母佇列),然後從下拉式清單中選擇要使用的佇列。

    • 選擇 Select an Amazon SQS queue in an other AWS account as a dead-letter queue (選擇其他 AWS 帳戶中的 Amazon SQS 佇列做為無效字母佇列),然後輸入要使用的佇列的 ARN。您必須將以資源為基礎政策連接到佇列,而且該佇列授與 EventBridge 向其傳送簡訊的許可。

      如需更多詳細資訊,請參閱 將許可授予無效字母佇列

    API destination
    1. (選用) 對於設定目標輸入,請選擇您要如何自訂傳送至目標的文字以進行相符事件。選擇下列其中一項:

      • 符合的事件:EventBridge 會將整個原始來源事件傳送至目標。此為預設值。

      • 相符事件的一部分:EventBridge 只會將原始來源事件的指定部分傳送至目標。

        指定相符事件的部分下,指定定義您希望 EventBridge 傳送至目標之事件部分的 JSON 路徑。

      • 常數 (JSON 文字):EventBridge 只會將指定的 JSON 文字傳送至目標。不會傳送原始來源事件的任何部分。

        在 JSON 中指定常數下,指定您希望 EventBridge 傳送到目標而非事件的 JSON 文字。

      • 輸入轉換器:設定輸入轉換器,以自訂您希望 EventBridge 傳送至目標的文字。如需更多詳細資訊,請參閱 Amazon EventBridge 輸入轉換

        1. 選取 Configure input transformer (設定輸入轉換器)

        2. 按照中的步驟配置輸入轉換器 將輸入轉換器設定為建立規則的一部分

    2. (選用) 在「重試」政策下,指定 EventBridge 在發生錯誤後如何重試將事件傳送至目標。

      • 最長事件保留時間:輸入 EventBridge 保留未處理事件的時間上限 (以小時、分鐘和秒為單位)。預設值為 18 小時。

      • 重試嘗試:輸入發生錯誤後,EventBridge 應該重試將事件傳送至目標的次數上限。預設值為 185 次。

    3. (選用) 針對 Dead-letter queue (無效字母佇列),選擇是否使用標準 Amazon SQS 佇列做為無效字母佇列。若與此規則匹配的事件未成功傳送到目標,則 EventBridge 會將其傳送至無效字母佇列。執行下列任意一項:

      • 選擇 None (無),即不使用無效字母佇列。

      • 選擇 Select an Amazon SQS queue in the current AWS account to use as the dead-letter queue (選擇當前 AWS 帳戶中的 Amazon SQS 佇列以用作無效字母佇列),然後從下拉式清單中選擇要使用的佇列。

      • 選擇 Select an Amazon SQS queue in an other AWS account as a dead-letter queue (選擇其他 AWS 帳戶中的 Amazon SQS 佇列做為無效字母佇列),然後輸入要使用的佇列的 ARN。您必須將以資源為基礎政策連接到佇列,而且該佇列授與 EventBridge 向其傳送簡訊的許可。

        如需更多詳細資訊,請參閱 將許可授予無效字母佇列

    AWS service

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

    1. (選用) 對於設定目標輸入,請選擇您要如何自訂傳送至目標的文字以進行相符事件。選擇下列其中一項:

      • 符合的事件:EventBridge 會將整個原始來源事件傳送至目標。此為預設值。

      • 相符事件的一部分:EventBridge 只會將原始來源事件的指定部分傳送至目標。

        指定相符事件的部分下,指定定義您希望 EventBridge 傳送至目標之事件部分的 JSON 路徑。

      • 常數 (JSON 文字):EventBridge 只會將指定的 JSON 文字傳送至目標。不會傳送原始來源事件的任何部分。

        在 JSON 中指定常數下,指定您希望 EventBridge 傳送到目標而非事件的 JSON 文字。

      • 輸入轉換器:設定輸入轉換器,以自訂您希望 EventBridge 傳送至目標的文字。如需更多詳細資訊,請參閱 Amazon EventBridge 輸入轉換

        1. 選取 Configure input transformer (設定輸入轉換器)

        2. 按照中的步驟配置輸入轉換器 將輸入轉換器設定為建立規則的一部分

    2. (選用) 在「重試」政策下,指定 EventBridge 在發生錯誤後如何重試將事件傳送至目標。

      • 最長事件保留時間:輸入 EventBridge 保留未處理事件的時間上限 (以小時、分鐘和秒為單位)。預設值為 18 小時。

      • 重試嘗試:輸入發生錯誤後,EventBridge 應該重試將事件傳送至目標的次數上限。預設值為 185 次。

    3. (選用) 針對 Dead-letter queue (無效字母佇列),選擇是否使用標準 Amazon SQS 佇列做為無效字母佇列。若與此規則匹配的事件未成功傳送到目標,則 EventBridge 會將其傳送至無效字母佇列。執行下列任意一項:

      • 選擇 None (無),即不使用無效字母佇列。

      • 選擇 Select an Amazon SQS queue in the current AWS account to use as the dead-letter queue (選擇當前 AWS 帳戶中的 Amazon SQS 佇列以用作無效字母佇列),然後從下拉式清單中選擇要使用的佇列。

      • 選擇 Select an Amazon SQS queue in an other AWS account as a dead-letter queue (選擇其他 AWS 帳戶中的 Amazon SQS 佇列做為無效字母佇列),然後輸入要使用的佇列的 ARN。您必須將以資源為基礎政策連接到佇列,而且該佇列授與 EventBridge 向其傳送簡訊的許可。

        如需更多詳細資訊,請參閱 將許可授予無效字母佇列

  4. (選用) 選擇 Add another target (新增其他目標),為此規則新增另一個目標。

  5. 選擇 Next (下一步)

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

設定標籤和檢閱規則

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

若要設定標籤,以及檢閱和建立規則
  1. (選用) 為規則輸入一或多個標籤。如需更多詳細資訊,請參閱 Amazon EventBridge 標籤

  2. 選擇 Next (下一步)

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

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