從用戶端直接上傳檔案到點播儲存(基於OSS)前,需要擷取上傳地址以及用於鑒權的憑證。本文介紹在用戶端上傳情境下如何擷取上傳地址和憑證,為初始化上傳執行個體作準備。
背景資訊
目前用戶端上傳SDK支援兩種授權方式:
使用上傳地址和憑證授權。
使用STS方式授權。
上傳地址和憑證是ApsaraVideo for VOD服務下發的上傳媒體檔案到ApsaraVideo for VOD儲存的檔案地址和授權憑證。相對於STS方式,使用上傳地址和憑證上傳媒體檔案擁有很多優勢。更多資訊,請參見憑證方式與STS方式對比。如需使用STS方式,請參見擷取STS臨時Token。
上傳流程
用戶端上傳SDK封裝了OSS上傳邏輯。在用戶端上傳媒體檔案時,會直接將檔案上傳到點播儲存(基於OSS),不會再經服務端進行中轉,故用戶端上傳必須進行鑒權,也就是需要您在應用伺服器上部署授權服務以擷取上傳地址和憑證。目前用戶端上傳SDK支援兩種授權方式:
使用上傳地址和憑證授權:建議整合點播服務端SDK來擷取上傳地址和憑證。
使用STS方式授權:需要提前為RAM使用者建立角色並授權,也需要自行搭建STS授權服務。
上傳地址和憑證方式上傳流程詳解
以整合點播服務端SDK擷取上傳地址和憑證為例,完整的上傳流程如下圖所示:
使用者在上傳應用伺服器部署授權服務(如整合點播服務端SDK)用於擷取上傳地址和憑證。
用戶端向上傳應用伺服器發起請求擷取上傳地址和憑證。
上傳應用伺服器向ApsaraVideo for VOD服務發起請求擷取上傳地址和憑證。
點播服務返回上傳地址和憑證。
說明點播服務在下發上傳地址和憑證時還會自動建立媒資資訊,即媒體ID(MediaId),用於媒資生命週期管理或ApsaraVideo for Media Processing。
擷取視頻上傳地址和憑證返回的
VideoId
即媒體ID。擷取圖片上傳地址和憑證返回的
ImageId
即媒體ID。擷取輔助媒資上傳地址和憑證返回的
MediaId
即媒體ID。請妥善儲存媒體ID,作為媒資管理、音視頻播放、ApsaraVideo for Media Processing等的輸入。
上傳應用伺服器向用戶端下發上傳地址和憑證。
重要下發地址和憑證即可,無需Base64解碼。
用戶端使用上傳地址和憑證初始化上傳執行個體。
用戶端構造上傳參數發起上傳請求。
OSS服務返回上傳結果。
說明上傳結果也可以通過提前配置回調接收上傳相關事件來監聽。
STS方式上傳流程詳解
使用STS方式上傳的完整的流程如下圖所示:
使用者在上傳應用伺服器部署授權服務(如整合阿里雲STS SDK)用於擷取STS臨時Token。
用戶端向上傳應用伺服器發起請求擷取STS臨時Token。
上傳應用伺服器向阿里雲STS服務發起請求擷取STS臨時Token。
阿里雲STS服務返回上傳地址和憑證。
上傳應用伺服器向用戶端下發STS臨時Token。
用戶端使用STS臨時Token初始化上傳執行個體。
用戶端構造請求發起上傳請求。
OSS服務返回上傳結果。
說明上傳結果也可以通過提前配置回調接收上傳相關事件來監聽。
擷取上傳地址和憑證
為免去自行簽名等麻煩,建議您以阿里雲SDK調用ApsaraVideo for VOD的OpenAPI來擷取上傳地址和憑證。操作步驟根據使用的語言不同而不同。
文檔中僅提供以V1.0版本的Java和Python語言的阿里雲SDK調用ApsaraVideo for VOD的OpenAPI來擷取上傳地址和憑證的調用樣本,其餘語言以及V2.0 SDK的調用邏輯與之類似,請自行實現,具體操作,請參見服務端SDK。
調用語言 | 操作指引 |
Java | |
Python |
使用上傳地址和憑證
上傳地址和憑證與每個檔案一一對應,因此需要在開始上傳的回調裡,去使用者應用伺服器擷取並設定給對應的上傳執行個體。具體設定因用戶端不同而不同。
用戶端 | 使用指引 |
Web | |
Android | |
iOS | |
微信小程式 |