全部產品
Search
文件中心

EventBridge:路由到Function Compute

更新時間:Jan 21, 2025

您可以通過事件規則過濾事件,將事件路由到Function Compute。本文以自訂事件為例介紹將事件路由到Function Compute的前提條件、操作步驟和結果驗證。

前提條件

步驟一:添加自訂事件來源

  1. 登入事件匯流排EventBridge控制台,在左側導覽列,單擊事件匯流排
  2. 在頂部功能表列,選擇地區,在事件匯流排頁面,單擊目標自訂事件匯流排名稱。
  3. 在左側導覽列,單擊事件來源,然後單擊添加事件來源
  4. 添加自訂事件來源面板,輸入名稱描述事件提供方選擇自訂應用,然後單擊確定

步驟二:建立事件規則

重要

目標服務和事件規則必須處於同一地區。

  1. 登入事件匯流排EventBridge控制台,在左側導覽列,單擊事件匯流排
  2. 在頂部功能表列,選擇地區,在事件匯流排頁面,單擊目標匯流排名稱。
  3. 在左側導覽列,單擊事件規則,然後單擊建立規則
  4. 建立規則頁面,完成以下操作。

    1. 配置基本資料設定精靈,在名稱文字框輸入規則名稱,在描述文字框輸入規則的描述,然後單擊下一步

    2. 配置事件模式設定精靈,事件來源類型選擇自訂事件來源事件來源選擇步驟一添加的自訂事件來源,在事件模式內容代碼框輸入事件模式,然後單擊下一步

      如需瞭解更多資訊,請參見事件模式

    3. 配置事件目標設定精靈,配置事件目標,然後單擊建立

      說明

      1個事件規則最多可以添加5個目標。

      配置項

      說明

      服務類型

      在下拉式清單中選擇Function Compute

      函數

      在下拉式清單中選擇已建立的函數。

      事件

      支援完整事件部分事件固定值模板四種事件類型,本文以模板類型為例進行介紹說明。具體事件類型的介紹,請參見事件內容轉換

      以下提供的是變數模板樣本。

      變數樣本:

      {
        "source":"$.source",
        "type":"$.type"
      }

      模板樣本:

      The event comes from ${source},event type is ${type}.

      版本和別名

      支援指定函數版本或指定函數別名:

      • 如果您選擇指定版本,需要選擇函數的具體版本。

      • 如果您選擇指定別名,需要選擇函數的具體別名。

      執行方式

      支援以下兩種執行方式,具體資訊,請參見同步調用非同步呼叫功能概覽

      • 同步:同步調用是事件被函數處理後直接返回結果。

      • 非同步:非同步呼叫是Function Compute系統接收非同步呼叫請求後,將請求持久化後會立即返迴響應,而不是等待請求執行完成後再返回。

      投遞方式

      支援以下兩種投遞方式:

      • Object格式:如果您選用此格式,事件將會以對象(Object) 格式向下遊函數進行投遞。

      • ObjectList格式:如果您選用此格式,事件將會以對象數組(Array)格式向下遊函數進行投遞。

      說明

      此功能為非必選項,如果您不選擇投遞格式,則預設事件將以Object格式向下遊函數進行投遞。

      重試和死信

      請參見重試和死信文檔進行設定。

步驟三:發布事件

  1. 登入事件匯流排EventBridge控制台,在左側導覽列,單擊事件匯流排
  2. 在頂部功能表列,選擇地區。
  3. 事件匯流排頁面,找到目標匯流排,在其右側操作列單擊发布事件
    說明 僅自訂事件匯流排支援通過控制台發布事件。
  4. 發布事件至自訂事件匯流排面板,自定义事件源下拉式清單選擇已建立的自訂事件來源,在事件体代碼框輸入事件內容,然後單擊確定
    事件包含的參數規範,請參見事件概述
說明

如需重試發布失敗的事件,則需定義Function Compute的函數異常處理,事件匯流排EventBridge檢測到函數拋出的異常後,則會重新發布事件到Function Compute。

結果驗證

您可以在Function Compute控制台使用錶盤解讀資料指標。

  1. 登入Function Compute控制台

  2. 在左側導覽列,單擊函數,然後在頂部功能表列選擇目標地區。

  3. 函數頁面,單擊目標函數名稱。

  4. 在目標函數詳情頁面,單擊日誌頁簽,然後單擊函數日誌,即可查看目標函數的日誌資訊。

    2n968ZJ9Lj

常見問題

事件發布失敗,我該如何定位問題?

如果事件發布失敗,您可以查看事件軌跡,在事件軌跡頁面的事件投遞地區查看投遞詳情,擷取投遞響應。針對不同投遞響應提示,採取相應的解決措施。

發布到Function Compute的事件發布失敗,且投遞響應為[500]ConnectErrorconnectiontimedout,我該如何處理?

您可以按照以下步驟處理:
  1. 登入Function Compute控制台,執行目標函數並觀察執行時間。
  2. 如果函數執行時間大於15s,請排查網路問題;如果函數執行時間小於15s,請確認您是否可以訪問Function Compute服務所屬地區的Endpoint。
  3. 如您不能訪問當前Function Compute服務所屬地區的Endpoint,請聯絡Function Compute工程師處理。