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