全部產品
Search
文件中心

ApsaraVideo VOD:HTTP回調

更新時間:Feb 27, 2025

本文為您介紹HTTP回調事件通知的回調機制、使用流程及鑒權原理。

HTTP回調機制

  1. 您需要自行部署一個HTTP服務來接收回調訊息,並在點播中配置回調URL。

  2. 當事件產生時,點播服務端會向該URL發起HTTP POST請求,事件通知內容將通過HTTP Body送達。

  3. 您的HTTP服務對HTTP POST請求進行簽名認證鑒權,鑒權成功則響應狀態代碼200即視為回調成功,若響應其他狀態代碼或響應逾時則視為回調失敗。鑒權原理請參見HTTP回調鑒權原理

  4. 回調成功後,您配置的回調URL中將接收到相應的事件通知內容。回調失敗後,點播服務會繼續重試回調2次,即總共最多回調3次;超過3次後則會丟棄本次回調事件通知。詳細的回調判斷與重試邏輯請參見回調判斷與重試

如何使用

前提條件

使用說明

  • ApsaraVideo for VOD服務支援多個服務地區,各服務地區之間的事件通知配置是相互獨立的,即每個地區可以單獨配置事件通知的回調方式和回調地址。

  • HTTP方式回調支援多地址回調,可滿足多環境的開發需求。詳情請參見設定多地址回調

使用流程

  1. 在ApsaraVideo for VOD服務中配置HTTP回調方式的事件通知。

    說明

    通過點播控制台方式設定的回調為針對ApsaraVideo for VOD服務全域的回調配置;通過OpenAPI方式支援對ApsaraVideo for VOD服務進行全域配置回調或單次請求覆蓋回調。

    通過控制台設定HTTP回調

    1. 在左側導覽列選擇組態管理 > ApsaraVideo for Media Processing配置 > 回調設定,進入到回調設定頁面。

    2. 單擊頁面頂部工作台右側的服務地區,切換到目標服務地區下。

    3. 配置回調設定HTTP回調

      1. 單擊回調設定旁的修改設定

      2. 配置回調參數。

        參數名稱

        參數說明

        回調方式

        選擇HTTP請求

        回調URL

        設定接收訊息回調的URL,當產生回調事件時,點播服務端會向該URL發起HTTP POST請求。

        URL長度不超過256位元組,不支援設定多個URL。

        回調事件

        按需勾選相應類型的事件通知,ApsaraVideo for VOD支援的事件通知類型及各事件通知含義請參見事件列表

        說明

        勾選視頻AI處理完成後,所有的AI事件,包括AIMediaAuditComplete、AIMediaDNAComplete、AIVideoTagComplete,無論哪個AI事件完成後都會觸發通知。

      3. 單擊確定,完成回調設定的配置。

    4. 可選:配置回調鑒權

      當回調方式為HTTP請求時,您可以通過在HTTP(含HTTPS)頭部增加鑒權參數,供回調訊息接收服務端進行簽名認證,防止非法或無效請求。

      1. 開啟回調鑒權開關,或單擊回調鑒權右側的修改設定

      2. 設定鑒權密鑰。

        該鑒權密鑰即為簽名演算法中的AuthKey欄位,詳情參見簽名演算法。該密鑰由您自訂,最長32位,必須同時包含大寫字母、小寫字母和數字。

      3. 單擊確定,完成配置。

      4. 開啟回調鑒權後,您部署的用於接收回調訊息的HTTP/HTTPS服務端需自行配置相應的鑒權邏輯進行鑒權,具體請參見HTTP回調鑒權原理

    通過OpenAPI設定HTTP回調

    通過調用不同的介面,支援對ApsaraVideo for VOD服務進行全域配置回調或單次請求覆蓋回調。

    說明

    通過指定UserData中的MessageCallback欄位來設定回調時,必須先開啟ApsaraVideo for VOD的全域事件通知,並配置相應的回調事件類型後,此處的回調配置才會生效。

  2. 觸發回調事件。

    完成事件通知配置後,您可以在ApsaraVideo for VOD服務中執行上傳媒資檔案(音/視頻或圖片),發起ApsaraVideo for Media Processing(轉碼、截圖等)等操作來觸發相應的回調事件產生。

  3. 接收回調事件。

    當回調事件產生後,若回調成功,您可以在您部署的回調接收服務中查看回調事件通知。

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的鑒權,由回調訊息接收服務端完成。

建議操作順序如下:

  1. 使用者定義新的AuthKey。

  2. 使用者升級回調訊息接收服務端,相容新、舊兩個AuthKey的鑒權。

  3. 在點播控制台將AuthKey更新成最新。

  4. 觀察一段時間後,回調訊息接收服務端去掉對原來舊AuthKey的相容。

  5. 切換完成。

相關文檔