全部產品
Search
文件中心

ApsaraVideo VOD:輕量訊息佇列(原MNS)回調

更新時間:Feb 27, 2025

本文為您介紹Simple Message Queue (formerly MNS)回調事件通知的回調機制、使用流程等資訊。

背景資訊

阿里雲Simple Message Queue (formerly MNS) (SMQ)是一種高效、可靠、安全、便捷、可彈性擴充的分布式訊息佇列。Simple Message Queue (formerly MNS)提供了隊列模型,支援多個生產者和消費者並發訪問同一個隊列,並能確保某條訊息在取出之後的特定時間段內,無法被其他消費者獲得。訊息被消費後一段時間內不可見,需要使用者主動刪除,否則該訊息會被再次消費。ApsaraVideo for VOD服務VOD支援通過Simple Message Queue (formerly MNS)來接收點播的回調資訊。更多有關Simple Message Queue (formerly MNS)的詳細介紹,請參見什麼是輕量訊息佇列(原 MNS)

輕量訊息佇列(原MNS)回調機制

  1. 您需要在Simple Message Queue (formerly MNS)中建立隊列,並在ApsaraVideo for VOD中配置相應回調。

  2. 當事件產生時,ApsaraVideo for VOD服務會將事件通知內容寫入到Simple Message Queue (formerly MNS)的訊息佇列中。

  3. 只要ApsaraVideo for VOD服務將訊息寫入Simple Message Queue (formerly MNS)成功即視為回調成功,否則視為回調失敗。若因配置錯誤(未授權點播服務訪問Simple Message Queue (formerly MNS)、Endpoint不是公網、隊列名稱不正確等原因)導致寫入訊息失敗,ApsaraVideo for VOD服務會繼續重試回調2次,即總共最多回調3次,3次回調都失敗則會丟棄該訊息。詳細的回調判斷與重試邏輯請參見回調判斷與重試

  4. 回調成功後,您需要主動在Simple Message Queue (formerly MNS)中去接收訊息,從接收的訊息中查看事件通知的內容。而僅當訊息被接收消費後,您才能刪除該訊息。當訊息被消費後一段時間內不可見,需要您主動刪除,否則該訊息會被再次消費。

如何使用

前提條件

使用說明

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

  • Simple Message Queue (formerly MNS)中,不同服務地區下,支援建立多個Simple Message Queue (formerly MNS),但在ApsaraVideo for VOD中,每個服務地區的MNS回調中僅支援配置一個Simple Message Queue (formerly MNS)。建議您按如下推薦地區建立和使用隊列:

    • 如果視頻儲存在中國內地地區(如華北2、華東2等),建議使用華東2(上海)地區的隊列,如果推送訊息到非華東2(上海)地區的隊列會存在較短時間的延遲。

    • 如果視頻儲存在其他地區(如新加坡、日本等),建議建立或使用相應地區的訊息佇列。

      例如:視頻儲存地區為新加坡,則應建立或使用新加坡地區的訊息佇列。

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

使用流程

  1. 授權ApsaraVideo for VOD服務VOD訪問Simple Message Queue (formerly MNS)

    可通過以下兩種方式進行授權:

    • 方式一:直接授予VOD對您雲資源相應的存取權限,包含OSS、Simple Message Queue (formerly MNS)、CDN以及KMS的部分許可權。

      登入阿里雲控制台後,訪問雲資源訪問授權頁面,單擊同意授權,直接進行授權。授權頁面

    • 方式二:給VOD服務的使用者、使用者組或角色授予Simple Message Queue (formerly MNS)的存取權限。

      將系統策略中的AliyunMNSFullAccess(管理Simple Message Queue (formerly MNS)的許可權)或AliyunMNSReadOnlyAccess(管理Simple Message Queue (formerly MNS)的許可權)添加至授權策略中,詳細操作請參見建立RAM使用者並授權

  2. Simple Message Queue (formerly MNS)中建立隊列。

    Simple Message Queue (formerly MNS)中建立隊列或使用已有隊列。支援通過控制台和API/SDK的方式建立,控制台方式的具體操作,請參見建立隊列;API/SDK方式的相關介面,請參見隊列操作

    說明

    建議遵循使用說明中的推薦地區建立或使用隊列。

  3. 在ApsaraVideo for VOD服務中配置Simple Message Queue (formerly MNS)回調方式的事件通知。

    說明

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

    通過控制台配置輕量訊息佇列(原MNS)回調

    1. 登入视频点播控制台。

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

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

    4. 配置回調設定MNS回調1.png

      1. 單擊回調設定右側的修改設定

      2. 配置回調參數。

        參數名稱

        參數說明

        回調方式

        選擇Simple Message Queue (formerly MNS)

        地區

        選擇需要配置事件通知的視頻儲存的地區。推薦與Simple Message Queue (formerly MNS)中建立的隊列的地區保持一致。

        隊列

        選擇該地區下的隊列。

        說明

        如果沒有可選的隊列,請先建立。具體操作,請參見建立隊列

        回調事件

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

        說明

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

      3. 單擊確定,完成Simple Message Queue (formerly MNS)回調設定的配置。

    通過OpenAPI配置輕量訊息佇列(原MNS)回調

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

    說明

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

  4. 觸發回調事件。

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

  5. Simple Message Queue (formerly MNS)中查看訊息。

    當滿足產生回調事件條件時,點播服務端會將回調內容寫入到您提供的隊列中,您需要到Simple Message Queue (formerly MNS)中去主動接收訊息,在訊息詳情中查看事件通知內容。

    支援通過控制台或API/SDK方式去接收訊息,控制台方式的具體操作,請參見接收訊息;API/SDK方式的相關介面,請參見隊列介面概覽

  6. 可選:Simple Message Queue (formerly MNS)中刪除訊息。

    隊列支援多個生產者和消費者並發訪問同一個隊列,並能確保某條訊息在取出之後的特定時間段內,無法被其他消費者獲得。訊息被消費後一段時間內不可見,需要使用者主動刪除,否則該訊息會被再次消費。

    支援通過控制台或API/SDK方式去接收訊息,控制台方式的具體操作,請參見刪除訊息;API/SDK方式的相關介面,請參見隊列介面概覽

SDK樣本

Simple Message Queue (formerly MNS)提供了多種語言的SDK供您使用,當回調配置完成後,您可以通過如下代碼進行消費訊息:

相關文檔