您可以通過事件規則過濾事件,將事件路由到函數計算。本文以自定義事件為例介紹將事件路由到函數計算的前提條件、操作步驟和結果驗證。
步驟一:添加自定義事件源
- 登錄事件總線EventBridge控制臺,在左側導航欄,單擊事件總線。
- 在頂部菜單欄,選擇地域,在事件總線頁面,單擊目標自定義事件總線名稱。
- 在左側導航欄,單擊事件源,然后單擊添加事件源。
- 在添加自定義事件源面板,輸入名稱和描述,事件提供方選擇自定義應用,然后單擊確定。
步驟二:創建事件規則
- 登錄事件總線EventBridge控制臺,在左側導航欄,單擊事件總線。
- 在頂部菜單欄,選擇地域,在事件總線頁面,單擊目標總線名稱。
- 在左側導航欄,單擊事件規則,然后單擊創建規則。
- 在創建規則頁面,完成以下操作。
- 在配置基本信息配置向導,在名稱文本框輸入規則名稱,在描述文本框輸入規則的描述,然后單擊下一步。
- 在配置事件模式配置向導,事件源類型選擇自定義事件源,事件源選擇步驟一添加的自定義事件源,在事件模式內容代碼框輸入事件模式,然后單擊下一步。
- 在配置事件目標配置向導,配置事件目標,然后單擊創建。
- 服務類型:單擊函數計算。
- 服務:選擇已創建的函數計算的服務。
- 函數:選擇已創建的函數計算的函數。
- 事件:單擊模板。
以下提供變量和模板的示例。
變量示例:
{
"source":"$.source",
"type":"$.type"
}
模板示例:
The event comes from ${source},event type is ${type}.
如需了解更多信息,請參見事件內容轉換。
- 服務版本和別名:選擇服務版本或服務別名。
- 默認版本:LATEST。
- 指定版本:選擇服務版本。更多信息,請參見管理版本。
- 指定別名:選擇服務別名。更多信息,請參見管理別名。
- 調用方式:選擇同步調用或異步調用。更多信息,請參見同步調用和功能概覽。
步驟三:發布事件
- 登錄事件總線EventBridge控制臺,在左側導航欄,單擊事件總線。
- 在頂部菜單欄,選擇地域。
- 在事件總線頁面,找到目標總線,在其右側操作列單擊發布事件。
- 在發布事件至自定義事件總線面板,自定義事件源下拉列表選擇已創建的自定義事件源,在事件體代碼框輸入事件內容,然后單擊確定。
說明 如需重試發布失敗的事件,則需定義函數計算的函數異常處理,事件總線EventBridge檢測到函數拋出的異常后,則會重新發布事件到函數計算。
結果驗證
您可以在函數計算控制臺使用表盤解讀數據指標。
- 登錄函數計算控制臺。
- 在左側導航欄,單擊服務及函數。
- 在頂部菜單欄,選擇地域。
- 在服務列表頁面,找到目標服務,在其右側操作列單擊函數管理。
- 在函數管理頁面,找到目標函數,單擊目標函數名稱。
- 在函數詳情頁面,單擊調用日志頁簽,查看日志。
FC Invoke Start RequestId: c2be67a7-fh1a-9619-ei4c-3c04gcf6****
2020-11-19T11:11:34.161Z c2be67a7-fh1a-9619-ei4c-3c04gcf6c**** [verbose] Receive Event v2 ==> The event comes from aliyun.ui,event type is ui:Created:PostObject.
2020-11-19T11:11:34.167Z c2be67a7-fh1a-9619-ei4c-3c04gcf6c****
FC Invoke End RequestId: c2be67a7-fh1a-9619-ei4c-3c04gcf6c****
常見問題
事件發布失敗,我該如何定位問題?
如果事件發布失敗,您可以查看事件軌跡,在事件軌跡頁面的事件投遞區域查看投遞詳情,獲取投遞響應。針對不同投遞響應提示,采取相應的解決措施。
發布到函數計算的事件發布失敗,且投遞響應為[500]ConnectErrorconnectiontimedout,我該如何處理?
您可以按照以下步驟處理:
- 登錄函數計算控制臺,執行目標函數并觀察執行時間。
- 如果函數執行時間大于15s,請排查網絡問題;如果函數執行時間小于15s,請確認您是否可以訪問函數計算服務所屬地域的Endpoint。
- 如您不能訪問當前函數計算服務所屬地域的Endpoint,請聯系函數計算工程師處理。