將輸入轉換器設定為建立規則的一部分 - Amazon EventBridge

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

將輸入轉換器設定為建立規則的一部分

在建立規則的過程中,您可以指定輸入轉換器,以 EventBridge 便在將這些事件傳送至指定的目標之前處理相符事件。您可以為 AWS 服務或 API 目的地的目標設定輸入轉換器。

建立目標輸入轉換器做為規則的一部分
  1. 請遵循建立規則的步驟,如 建立回應事件的 Amazon EventBridge 規則。 中所述。

  2. 步驟 3 - 選取目標中,展開其他設定

  3. 針對設定目標輸入,從下拉式清單中選擇輸入轉換器

    按一下設定輸入轉換器

    EventBridge 顯示「規劃輸入轉換器」對話方塊。

  4. 範例事件區段中,選擇您要測試事件模式的範例事件類型。您可以選擇 AWS 活動、合作夥伴活動,或輸入您自己的自訂活動。

    AWS events

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

    1. 選取 AWS 事件

    2. 在「範例事件」下,選擇所需的 AWS 事件。活動按 AWS 服務組織。

      當您選取事件時, EventBridge 會填入範例事件。

      例如,如果您選擇 S3 物件已建立,則 EventBridge 會顯示 S3 物件建立事件的範例。

    3. (選用) 您也可以選取複製,將範例事件複製到裝置的剪貼簿。

    Partner events

    從支援 EventBridge的協力廠商服務 (例如 Salesforce) 發出的事件中選取。

    1. 選取EventBridge 合作夥伴活動

    2. 範例事件下,選擇所需的合作夥伴事件。事件由合作夥伴進行組織。

      當您選取事件時, EventBridge 會填入範例事件。

    3. (選用) 您也可以選取複製,將範例事件複製到裝置的剪貼簿。

    Enter your own

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

    1. 選取輸入您自己的

    2. EventBridge 使用必要事件屬性的範本填入範例事件。

    3. 視需要編輯並新增至範例事件。範例事件必須是有效的 JSON。

    4. (選用) 您也可以選擇下列任一選項:

      • 複製:將範例事件複製到裝置的剪貼簿。

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

  5. (選用) 展開範例輸入路徑、範本和輸出區段,以查看下列範例:

    • 如何使用 JSON 路徑定義代表事件資料的變數

    • 如何在輸入轉換器模板中使用這些變量

    • EventBridge 發送到目標的結果輸出

    如需輸入轉換的詳細範例,請參閱 輸入轉換範例

  6. 目標輸入轉換器區段中,定義要在輸入範本中使用的任何變數。

    使用 JSON 路徑來參考原始事件來源中值的變數。然後,您可以在輸入範本中參考這些變數,以便在 EventBridge 傳遞至目標的轉換事件中包含來自原始來源事件的資料。您最多可定義 100 個變數。輸入轉換器必須是有效的 JSON。

    例如,假設您已選擇 AWS 事件 S3 物件已建立作為此輸入轉換器的範例事件。然後,您可以定義在模板中使用的以下變量:

    { "requester": "$.detail.requester", "key": "$.detail.object.key", "bucket": "$.detail.bucket.name" }

    (選用) 您也可以選擇複製,將輸入轉換器複製到裝置的剪貼簿。

  7. 在「範本」區段中,構成您要使用的範本來決定 EventBridge 傳遞至目標的範本。

    您可以使用 JSON、字符串、靜態信息、您定義的變量以及保留變量。如需輸入轉換的詳細範例,請參閱 輸入轉換範例

    例如,假設您已經在上一個範例中定義了變數。然後,您可以編寫以下模板,該模板引用這些變量以及保留變量和靜態信息。

    { "message": "<requester> has created the object \"<key>\" in the bucket \"<bucket>\"", "RuleName": <aws.events.rule-name>, "ruleArn" : <aws.events.rule-arn>, "Transformed": "Yes" }

    (選用) 您也可以選擇複製,將範本複製到裝置的剪貼簿。

  8. 若要測試範本,請選取產生輸出

    EventBridge 根據輸入範本處理範例事件,並顯示在「輸出」(Output) 下產生的轉換後的輸出。這是 EventBridge 將傳遞給目標以取代原始來源事件的資訊。

    上述範例輸入範本所產生的輸出如下:

    { "message": "123456789012 has created the object "example-key" in the bucket "example-bucket"", "RuleName": rule-name, "ruleArn" : arn:aws:events:us-east-1:123456789012:rule/rule-name, "Transformed": "Yes" }

    (選用) 您也可以選擇複製,將產生的輸出複製到裝置的剪貼簿。

  9. 選取確認

  10. 請遵循建立規則的其餘步驟,如 建立回應事件的 Amazon EventBridge 規則。 中所述。