在使用智能媒體服務媒資上傳、ApsaraVideo for Media Processing、雲剪輯等服務時,您可通過設定回調事件及時擷取任務處理進展和狀態,以便進行其他業務操作。通過閱讀本文,您可以瞭解回調方式和回調事件的基本資料。
回調方式說明
簡介
智能媒體服務支援HTTP請求和MNS隊列兩種回調方式擷取事件通知,如下所示:
HTTP請求:被動接收IMS事件通知。您需要部署一個HTTP服務接收回調訊息,並在控制台上或調用OpenAPI時配置回調URL,當事件產生時,IMS服務端會向回調URL發起HTTP POST請求,訊息內容將通過HTTP Body送達。
MNS隊列:主動向IMS拉取事件通知。您需要授權IMS訪問Simple Message Queue (formerly MNS),並在MNS中建立隊列或使用已有隊列,然後在控制台上或調用OpenAPI時配置MNS隊列名稱,當事件產生時,IMS服務端會將回調內容寫入該隊列,您需要到MNS中查看接收訊息。
優缺點
對比項 | HTTP請求 | MNS隊列 |
可靠性 | 如果HTTP訊息接收服務異常,例如崩潰或重啟等,訊息可能會丟失。 | 只要配置正常,訊息回調基本都能成功,可靠性更高。 |
安全性 | 任何HTTP方式都可回調該地址,但可配合回調鑒權過濾非法請求,以增強安全性,詳情請參見回調鑒權。 | 僅授權方能讀寫訊息佇列,安全性更高。 |
便捷性 | 接入更為方便,只需簡單部署訊息接收服務。 | 需要額外開通和配置MNS,並且需要開發和部署消費訊息的程式。 |
回調協議
回調方式 | 描述 |
HTTP請求 |
|
MNS隊列 | 隊列接收訊息內容為JSON字串。關於訊息體樣本和參數欄位詳細說明,請參見事件列表。 |
回調判斷與重試
回調方式 | 回調是否成功 | 回調重試說明 |
HTTP請求 | 發起HTTP請求時,如果接收服務響應的HTTP狀態代碼為200,則視為回調成功;如果狀態代碼為其他或回應時間超過3秒出現逾時,則視為回調失敗。IMS會忽略響應的包體內容,僅以HTTP狀態代碼判斷回調是否成功。 | 如果配置異常,例如回調地址錯誤、訊息接收服務異常等,會導致訊息回調失敗,IMS會間隔1秒繼續重新回調2次,如果總回調次數超過3次後仍然失敗,會丟棄該訊息。 |
MNS隊列 | 發起MNS隊列回調時,只要訊息寫入MNS隊列成功,則視為回調成功,否則視為失敗。 | 如果配置異常,例如未授權IMS訪問Simple Message Queue (formerly MNS)、隊列地址不是公網或隊列名稱錯誤等,會導致訊息寫入MNS失敗,IMS會間隔1秒繼續重新回調2次,如果總回調次數超過3次後仍然失敗,會丟棄該訊息。 |
建議您使用MNS隊列回調,只要配置正常,訊息回調基本都能成功,可靠性更高。
回調事件類型
智能媒體服務提供媒資上傳、ApsaraVideo for Media Processing、雲剪輯等相關的回調事件,您可通過設定指定的回調事件及時擷取任務處理進展和狀態。詳情請參見事件列表。