事件通知常見問題
本文為您介紹事件通知常見問題。
事件通知公共常見問題
如何從回調(diào)中獲取HTTPS的URL用于播放?
點播的HTTP回調(diào)和MNS回調(diào),都不支持返回HTTPS的URL。如需要從回調(diào)中直接獲取到HTTPS的URL用于視頻播放,可參考下述步驟實現(xiàn):
為域名配置HTTPS安全證書。
配置方法可參考HTTPS安全加速設(shè)置,如已配置則可以跳過此步驟。
在接收回調(diào)的代碼中使用替換操作,以實現(xiàn)將HTTP的URL替換為HTTPS的URL。
例如Java中,可使用
replace
進行替換。?
如何實現(xiàn)多地址回調(diào)?
通過點播控制臺或API/SDK方式(SetMessageCallback - 設(shè)置事件通知配置接口)配置回調(diào)時,是針對點播服務(wù)全局的配置,且只能回調(diào)到一個地址。如果您有多地址回調(diào)的使用場景,可參考下述方案實現(xiàn):
方案一:在
UserData
中指定回調(diào)地址在調(diào)用接口上傳媒資文件或發(fā)起媒體處理任務(wù)時(例如CreateUploadVideo - 獲取音視頻上傳地址和憑證、SubmitTranscodeJobs - 提交媒體轉(zhuǎn)碼作業(yè)等接口),通過指定請求參數(shù)
UserData
中的MessageCallback字段,來設(shè)置其他回調(diào)地址。詳細信息,請參見設(shè)置多地址回調(diào)。說明本方案僅支持HTTP回調(diào)方式。
本方案需要在已開啟全局的事件通知并配置相應(yīng)的回調(diào)事件類型后才能使用,否則本方案設(shè)置的回調(diào)不生效。
方案二:區(qū)分應(yīng)用設(shè)置獨立回調(diào)地址
使用多應(yīng)用體系,可以為每個應(yīng)用設(shè)置獨立的消息回調(diào)方式和地址。詳細內(nèi)容請參見多應(yīng)用體系概述。
HTTP回調(diào)的常見問題
沒有收到HTTP回調(diào)該如何排查?
首先需要登錄視頻點播控制臺 ,在點播控制臺左側(cè)導(dǎo)航欄的配置管理,選擇 ,確認是否開啟回調(diào)功能,并且查看是否訂閱了所需要的回調(diào)。
執(zhí)行下述示例,查看是否有正常返回,如果沒有,則排查回調(diào)地址接收服務(wù)是否有問題。注意將
http://example.aliyundoc.com/processMessage
替換為您設(shè)置的HTTP回調(diào)地址。curl -l -i -H "Content-type: application/json" -X POST -d '{"VideoId":"videoId","EventType":"FileUploadComplete","Status":"success","Size":1439213}' http://example.aliyundoc.com/processMessage
回調(diào)超時時間是多少?重試幾次?重試間隔多久?
HTTP回調(diào)超時時間默認為5秒,最多重試3次,每次間隔1秒。
超過重試次數(shù)后,消息會被丟棄嗎?這樣如何保證消息不丟失?
如果您的接收服務(wù)異常,如崩潰、重啟、網(wǎng)絡(luò)不可達等,超過重試次數(shù)消息都會被丟棄。如果要保證消息不丟失,推薦使用MNS回調(diào)。
HTTP回調(diào)支持302跳轉(zhuǎn)嗎?
HTTP回調(diào)只支持200響應(yīng),出于安全考慮,不支持302、301等。
收到多次重復(fù)回調(diào)是什么原因?
HTTP回調(diào)只有收到200響應(yīng)碼時才認為是成功,否則均認為失敗,并重試回調(diào),最多嘗試三次。
HTTP鑒權(quán)有什么作用?
HTTP鑒權(quán)是在回調(diào)過程增加特殊HTTP頭,供回調(diào)地址提供方進行校驗(防止非阿里云點播服務(wù)調(diào)用該接口,造成安全問題)。具體是否校驗可由用戶自行判斷。
輕量消息隊列(原MNS)回調(diào)的常見問題
輕量消息隊列(原MNS)回調(diào)隊列中沒有消息是什么原因?
未授權(quán)點播服務(wù)訪問輕量消息隊列(原 MNS)、Endpoint不是公網(wǎng)或者隊列名稱不對會導(dǎo)致消息投遞失敗。
消息存活時間設(shè)置過小(建議使用3600 秒),消息被消費前已經(jīng)釋放。
消息最大長度設(shè)置過小(建議使用默認值65536 Byte),可能會導(dǎo)致消息投遞失敗。
輕量消息隊列(原MNS)回調(diào)收到重復(fù)消息是什么原因?
消息被消費后,變?yōu)槎虝翰豢梢姡枰謩踊蛘{(diào)用接口刪除消息,否則一段時間后消息可以被再次消費。
輕量消息隊列(原MNS)回調(diào)是否支持鑒權(quán)?
點播服務(wù)經(jīng)過授權(quán)寫入用戶隊列,非經(jīng)授權(quán)無操作權(quán)限,安全性比較高,所以一般不需要鑒權(quán)。
輕量消息隊列(原MNS)回調(diào)支持哪些區(qū)域?
如果視頻保存在中國內(nèi)地區(qū)域(如 華北2 ,華東2 ),投遞消息到華東2(上海)區(qū)域之外的隊列存在較短時間的延遲,建議使用 華東2(上海) 區(qū)域的隊列。
如果視頻保存在 新加坡區(qū)域 存儲,建議使用新加坡區(qū)域的消息隊列。
如果視頻保存在 法蘭克福區(qū)域 存儲,建議使用法蘭克福區(qū)域的消息隊列。
是否能跨區(qū)域配置輕量消息隊列(原MNS)進行回調(diào)?
是否能跨區(qū)域配置輕量消息隊列(原 MNS)進行回調(diào),比如視頻存儲和處理在華東2(上海)或華北2(北京),但MNS隊列在華南1(深圳)。功能上是支持的,只是要考慮下網(wǎng)絡(luò)延遲,可能消息寫入會稍慢一些,建議盡量配置和存儲地址在同一區(qū)域,如華東2。