全部產品
Search
文件中心

ApsaraVideo VOD:擷取上傳地址和憑證

更新時間:Sep 04, 2024

從用戶端直接上傳檔案到點播儲存(基於OSS)前,需要擷取上傳地址以及用於鑒權的憑證。本文介紹在用戶端上傳情境下如何擷取上傳地址和憑證,為初始化上傳執行個體作準備。

背景資訊

目前用戶端上傳SDK支援兩種授權方式:

  • 使用上傳地址和憑證授權。

  • 使用STS方式授權。

上傳地址和憑證是ApsaraVideo for VOD服務下發的上傳媒體檔案到ApsaraVideo for VOD儲存的檔案地址和授權憑證。相對於STS方式,使用上傳地址和憑證上傳媒體檔案擁有很多優勢。更多資訊,請參見憑證方式與STS方式對比。如需使用STS方式,請參見擷取STS臨時Token

上傳流程

用戶端上傳SDK封裝了OSS上傳邏輯。在用戶端上傳媒體檔案時,會直接將檔案上傳到點播儲存(基於OSS),不會再經服務端進行中轉,故用戶端上傳必須進行鑒權,也就是需要您在應用伺服器上部署授權服務以擷取上傳地址和憑證。目前用戶端上傳SDK支援兩種授權方式:

  • 使用上傳地址和憑證授權:建議整合點播服務端SDK來擷取上傳地址和憑證。

  • 使用STS方式授權:需要提前為RAM使用者建立角色並授權,也需要自行搭建STS授權服務。

上傳地址和憑證方式上傳流程詳解

以整合點播服務端SDK擷取上傳地址和憑證為例,完整的上傳流程如下圖所示:用戶端SDK上傳憑證上傳流程

  1. 使用者在上傳應用伺服器部署授權服務(如整合點播服務端SDK)用於擷取上傳地址和憑證。

  2. 用戶端向上傳應用伺服器發起請求擷取上傳地址和憑證。

  3. 上傳應用伺服器向ApsaraVideo for VOD服務發起請求擷取上傳地址和憑證。

  4. 點播服務返回上傳地址和憑證。

    說明

    點播服務在下發上傳地址和憑證時還會自動建立媒資資訊,即媒體ID(MediaId),用於媒資生命週期管理或ApsaraVideo for Media Processing。

    • 擷取視頻上傳地址和憑證返回的VideoId即媒體ID。

    • 擷取圖片上傳地址和憑證返回的ImageId即媒體ID。

    • 擷取輔助媒資上傳地址和憑證返回的MediaId即媒體ID。

    • 請妥善儲存媒體ID,作為媒資管理、音視頻播放、ApsaraVideo for Media Processing等的輸入。

  5. 上傳應用伺服器向用戶端下發上傳地址和憑證。

    重要

    下發地址和憑證即可,無需Base64解碼。

  6. 用戶端使用上傳地址和憑證初始化上傳執行個體。

  7. 用戶端構造上傳參數發起上傳請求。

  8. OSS服務返回上傳結果。

    說明

    上傳結果也可以通過提前配置回調接收上傳相關事件來監聽。

STS方式上傳流程詳解

使用STS方式上傳的完整的流程如下圖所示:用戶端STS方式上傳流程

  1. 使用者在上傳應用伺服器部署授權服務(如整合阿里雲STS SDK)用於擷取STS臨時Token。

  2. 用戶端向上傳應用伺服器發起請求擷取STS臨時Token。

  3. 上傳應用伺服器向阿里雲STS服務發起請求擷取STS臨時Token。

  4. 阿里雲STS服務返回上傳地址和憑證。

  5. 上傳應用伺服器向用戶端下發STS臨時Token。

  6. 用戶端使用STS臨時Token初始化上傳執行個體。

  7. 用戶端構造請求發起上傳請求。

  8. OSS服務返回上傳結果。

    說明

    上傳結果也可以通過提前配置回調接收上傳相關事件來監聽。

擷取上傳地址和憑證

為免去自行簽名等麻煩,建議您以阿里雲SDK調用ApsaraVideo for VOD的OpenAPI來擷取上傳地址和憑證。操作步驟根據使用的語言不同而不同。

文檔中僅提供以V1.0版本的Java和Python語言的阿里雲SDK調用ApsaraVideo for VOD的OpenAPI來擷取上傳地址和憑證的調用樣本,其餘語言以及V2.0 SDK的調用邏輯與之類似,請自行實現,具體操作,請參見服務端SDK

調用語言

操作指引

Java

  1. 安裝Java SDK

  2. 初始化Java SDK

  3. 擷取上傳地址和憑證

Python

  1. 安裝Python SDK

  2. 初始化Python SDK

  3. 擷取上傳地址和憑證

使用上傳地址和憑證

上傳地址和憑證與每個檔案一一對應,因此需要在開始上傳的回調裡,去使用者應用伺服器擷取並設定給對應的上傳執行個體。具體設定因用戶端不同而不同。

用戶端

使用指引

Web

使用JavaScript SDK上傳檔案

Android

Android端檔案上傳

iOS

iOS端檔案上傳

微信小程式

使用微信小程式上傳SDK