本文為您介紹HTTP回調事件通知的回調機制、使用流程及鑒權原理。
HTTP回調機制
您需要自行部署一個HTTP服務來接收回調訊息,並在點播中配置回調URL。
當事件產生時,點播服務端會向該URL發起HTTP POST請求,事件通知內容將通過HTTP Body送達。
您的HTTP服務對HTTP POST請求進行簽名認證鑒權,鑒權成功則響應狀態代碼200即視為回調成功,若響應其他狀態代碼或響應逾時則視為回調失敗。鑒權原理請參見HTTP回調鑒權原理。
回調成功後,您配置的回調URL中將接收到相應的事件通知內容。回調失敗後,點播服務會繼續重試回調2次,即總共最多回調3次;超過3次後則會丟棄本次回調事件通知。詳細的回調判斷與重試邏輯請參見回調判斷與重試。
如何使用
前提條件
您已部署用於接收回調訊息的HTTP/HTTPS服務。
您已經開通了ApsaraVideo for VOD服務。開通步驟請參見開通ApsaraVideo for VOD服務。
使用說明
ApsaraVideo for VOD服務支援多個服務地區,各服務地區之間的事件通知配置是相互獨立的,即每個地區可以單獨配置事件通知的回調方式和回調地址。
HTTP方式回調支援多地址回調,可滿足多環境的開發需求。詳情請參見設定多地址回調。
使用流程
在ApsaraVideo for VOD服務中配置HTTP回調方式的事件通知。
說明通過點播控制台方式設定的回調為針對ApsaraVideo for VOD服務全域的回調配置;通過OpenAPI方式支援對ApsaraVideo for VOD服務進行全域配置回調或單次請求覆蓋回調。
通過控制台設定HTTP回調
在左側導覽列選擇組態管理 > ApsaraVideo for Media Processing配置 > 回調設定,進入到回調設定頁面。
單擊頁面頂部工作台右側的服務地區,切換到目標服務地區下。
配置回調設定。

單擊回調設定旁的修改設定。
配置回調參數。
參數名稱
參數說明
回調方式
選擇HTTP請求。
回調URL
設定接收訊息回調的URL,當產生回調事件時,點播服務端會向該URL發起HTTP POST請求。
URL長度不超過256位元組,不支援設定多個URL。
回調事件
按需勾選相應類型的事件通知,ApsaraVideo for VOD支援的事件通知類型及各事件通知含義請參見事件列表。
說明勾選視頻AI處理完成後,所有的AI事件,包括AIMediaAuditComplete、AIMediaDNAComplete、AIVideoTagComplete,無論哪個AI事件完成後都會觸發通知。
單擊確定,完成回調設定的配置。
可選:配置回調鑒權。
當回調方式為HTTP請求時,您可以通過在HTTP(含HTTPS)頭部增加鑒權參數,供回調訊息接收服務端進行簽名認證,防止非法或無效請求。
開啟回調鑒權開關,或單擊回調鑒權右側的修改設定。
設定鑒權密鑰。
該鑒權密鑰即為簽名演算法中的
AuthKey欄位,詳情參見簽名演算法。該密鑰由您自訂,最長32位,必須同時包含大寫字母、小寫字母和數字。單擊確定,完成配置。
開啟回調鑒權後,您部署的用於接收回調訊息的HTTP/HTTPS服務端需自行配置相應的鑒權邏輯進行鑒權,具體請參見HTTP回調鑒權原理。
通過OpenAPI設定HTTP回調
通過調用不同的介面,支援對ApsaraVideo for VOD服務進行全域配置回調或單次請求覆蓋回調。
全域配置:調用SetMessageCallback - 設定事件通知配置介面,請求參數
CallbackType指定為HTTP,並配置CallbackURL(回調地址)、EventTypeList(回調事件類型)等其他參數。單次請求覆蓋:調用介面上傳媒資檔案或發起ApsaraVideo for Media Processing任務時,通過指定請求參數
UserData中的MessageCallback欄位來設定單次請求的回調地址。涉及的API如下:
說明通過指定
UserData中的MessageCallback欄位來設定回調時,必須先開啟ApsaraVideo for VOD的全域事件通知,並配置相應的回調事件類型後,此處的回調配置才會生效。觸發回調事件。
完成事件通知配置後,您可以在ApsaraVideo for VOD服務中執行上傳媒資檔案(音/視頻或圖片),發起ApsaraVideo for Media Processing(轉碼、截圖等)等操作來觸發相應的回調事件產生。
接收回調事件。
當回調事件產生後,若回調成功,您可以在您部署的回調接收服務中查看回調事件通知。
HTTP回調鑒權原理
當回調方式為HTTP請求時,您可以通過在HTTP(含HTTPS)頭部增加鑒權參數,供回調訊息接收服務端進行簽名認證,以防止非法或無效請求。
使用說明
HTTP回調鑒權是否開啟由您自行決定(建議開啟)。一旦設定了AuthKey(鑒權密鑰),則回調時會攜帶所有鑒權相關內容,供回調訊息接收服務端進行鑒權使用,即設定AuthKey不會影響原有功能,具體是否校正由您自行決定。
如果未設定AuthKey,HTTP回調功能也不會受任何影響。
鑒權參數
在回調HTTP頭部增加的具體鑒權參數如下:
欄位 | 描述 |
X-VOD-TIMESTAMP | UNIX時間戳記,整型正數,固定長度10,1970年1月1日以來的秒數,表示回調請求發起時間。 |
X-VOD-SIGNATURE | 簽名字串,為32位MD5值,詳細說明請參見下文簽名演算法。 |
簽名演算法
X-VOD-SIGNATURE的計算依賴如下欄位:
欄位 | 樣本 | 描述 |
回調URL | https://www.example.com/your/callback | 使用者佈建的回調地址。 |
X-VOD-TIMESTAMP | 1519375990 | UNIX時間戳記,整型正數,固定長度10,1970年1月1日以來的秒數,表示回調請求發起時間。 |
AuthKey | Test123 | 使用者預設的鑒權密鑰,最長32位,必須同時包含大寫字母、小寫字母和數字。 |
將上述三個欄位進行拼接,欄位中間以豎線(|)分割,後計算MD5值,即:
MD5Content = 回調URL|X-VOD-TIMESTAMP|AuthKey
X-VOD-SIGNATURE = md5sum(MD5Content)X-VOD-SIGNATURE欄位計算方法樣本如下:
X-VOD-SIGNATURE = md5sum(https://www.example.com/your/callback|1519375990|Test123) = c72b60894140fa98920f1279219b****回調訊息接收服務端校正規則
回調訊息接收端將回調所設定的回調URL、X-VOD-TIMESTAMP取值、AuthKey字串拼接後,進行MD5值計算,得到加密串,再將加密串與X-VOD-SIGNATURE欄位進行對比,如果不一致,則請求非法。
回調訊息接收端擷取目前時間,與回調請求所帶的X-VOD-TIMESTAMP欄位時間相減,如果超過回調訊息接收服務端所設定的指定時間(如5分鐘,由回調訊息接收服務端自行定義),則認為該請求無效。
說明由於時間設定等問題,時間差值可能會有誤差,回調訊息接收服務端可自行決定是否進行該校正。
AuthKey切換
使用者在切換AuthKey時,為保證回調功能不受影響,回調訊息接收服務端需要相容新舊兩個AuthKey的平滑切換,即在一段時間內相容新舊兩個AuthKey的鑒權,由回調訊息接收服務端完成。
建議操作順序如下:
使用者定義新的AuthKey。
使用者升級回調訊息接收服務端,相容新、舊兩個AuthKey的鑒權。
在點播控制台將AuthKey更新成最新。
觀察一段時間後,回調訊息接收服務端去掉對原來舊AuthKey的相容。
切換完成。
相關文檔
有關HTTP回調與MNS回調的對比,請參見HTTP回調與MNS回調對比。
使用過程中遇到問題時,請參見事件通知常見問題。