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