您可以通過事件規則過濾事件,將事件路由到Function Compute。本文以自訂事件為例介紹將事件路由到Function Compute的前提條件、操作步驟和結果驗證。
前提條件
步驟一:添加自訂事件來源
- 登入事件匯流排EventBridge控制台,在左側導覽列,單擊事件匯流排。
- 在頂部功能表列,選擇地區,在事件匯流排頁面,單擊目標自訂事件匯流排名稱。
- 在左側導覽列,單擊事件來源,然後單擊添加事件來源。
在添加自訂事件來源面板,輸入名稱和描述,事件提供方選擇自訂應用,然後單擊確定。
步驟二:建立事件規則
目標服務和事件規則必須處於同一地區。
- 登入事件匯流排EventBridge控制台,在左側導覽列,單擊事件匯流排。
- 在頂部功能表列,選擇地區,在事件匯流排頁面,單擊目標匯流排名稱。
- 在左側導覽列,單擊事件規則,然後單擊建立規則。
在建立規則頁面,完成以下操作。
在配置基本資料設定精靈,在名稱文字框輸入規則名稱,在描述文字框輸入規則的描述,然後單擊下一步。
在配置事件模式設定精靈,事件來源類型選擇自訂事件來源,事件來源選擇步驟一添加的自訂事件來源,在事件模式內容代碼框輸入事件模式,然後單擊下一步。
如需瞭解更多資訊,請參見事件模式。
在配置事件目標設定精靈,配置事件目標,然後單擊建立。
說明1個事件規則最多可以添加5個目標。
配置項
說明
服務類型
在下拉式清單中選擇Function Compute。
函數
在下拉式清單中選擇已建立的函數。
事件
支援完整事件、部分事件、固定值和模板四種事件類型,本文以模板類型為例進行介紹說明。具體事件類型的介紹,請參見事件內容轉換。
以下提供的是變數和模板樣本。
變數樣本:
{ "source":"$.source", "type":"$.type" }
模板樣本:
The event comes from ${source},event type is ${type}.
版本和別名
支援指定函數版本或指定函數別名:
如果您選擇指定版本,需要選擇函數的具體版本。
如果您選擇指定別名,需要選擇函數的具體別名。
執行方式
支援以下兩種執行方式,具體資訊,請參見同步調用和非同步呼叫功能概覽。
同步:同步調用是事件被函數處理後直接返回結果。
非同步:非同步呼叫是Function Compute系統接收非同步呼叫請求後,將請求持久化後會立即返迴響應,而不是等待請求執行完成後再返回。
投遞方式
支援以下兩種投遞方式:
Object格式:如果您選用此格式,事件將會以對象(Object) 格式向下遊函數進行投遞。
ObjectList格式:如果您選用此格式,事件將會以對象數組(Array)格式向下遊函數進行投遞。
說明此功能為非必選項,如果您不選擇投遞格式,則預設事件將以Object格式向下遊函數進行投遞。
重試和死信
請參見重試和死信文檔進行設定。
步驟三:發布事件
- 登入事件匯流排EventBridge控制台,在左側導覽列,單擊事件匯流排。
- 在頂部功能表列,選擇地區。
- 在事件匯流排頁面,找到目標匯流排,在其右側操作列單擊发布事件。說明 僅自訂事件匯流排支援通過控制台發布事件。
- 在發布事件至自訂事件匯流排面板,自定义事件源下拉式清單選擇已建立的自訂事件來源,在事件体代碼框輸入事件內容,然後單擊確定。事件包含的參數規範,請參見事件概述。
如需重試發布失敗的事件,則需定義Function Compute的函數異常處理,事件匯流排EventBridge檢測到函數拋出的異常後,則會重新發布事件到Function Compute。
結果驗證
您可以在Function Compute控制台使用錶盤解讀資料指標。
在左側導覽列,單擊函數,然後在頂部功能表列選擇目標地區。
在函數頁面,單擊目標函數名稱。
在目標函數詳情頁面,單擊日誌頁簽,然後單擊函數日誌,即可查看目標函數的日誌資訊。
常見問題
事件發布失敗,我該如何定位問題?
如果事件發布失敗,您可以查看事件軌跡,在事件軌跡頁面的事件投遞地區查看投遞詳情,擷取投遞響應。針對不同投遞響應提示,採取相應的解決措施。
發布到Function Compute的事件發布失敗,且投遞響應為[500]ConnectErrorconnectiontimedout,我該如何處理?
- 登入Function Compute控制台,執行目標函數並觀察執行時間。
- 如果函數執行時間大於15s,請排查網路問題;如果函數執行時間小於15s,請確認您是否可以訪問Function Compute服務所屬地區的Endpoint。
- 如您不能訪問當前Function Compute服務所屬地區的Endpoint,請聯絡Function Compute工程師處理。