在使用智能媒體服務媒資上傳、媒體處理、云剪輯等服務時,您可通過設置回調事件及時獲取任務處理進展和狀態,以便進行其他業務操作。通過閱讀本文,您可以了解回調方式和回調事件的基本信息。
回調方式說明
簡介
智能媒體服務支持HTTP請求和MNS隊列兩種回調方式獲取事件通知,如下所示:
HTTP請求:被動接收IMS事件通知。您需要部署一個HTTP服務接收回調消息,并在控制臺上或調用OpenAPI時配置回調URL,當事件產生時,IMS服務端會向回調URL發起HTTP POST請求,消息內容將通過HTTP Body送達。
MNS隊列:主動向IMS拉取事件通知。您需要授權IMS訪問輕量消息隊列(原 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訪問輕量消息隊列(原 MNS)、隊列地址不是公網或隊列名稱錯誤等,會導致消息寫入MNS失敗,IMS會間隔1秒繼續重新回調2次,如果總回調次數超過3次后仍然失敗,會丟棄該消息。 |
建議您使用MNS隊列回調,只要配置正常,消息回調基本都能成功,可靠性更高。
回調事件類型
智能媒體服務提供媒資上傳、媒體處理、云剪輯等相關的回調事件,您可通過設置指定的回調事件及時獲取任務處理進展和狀態。詳情請參見事件列表。