クライアントからApsaraVideo VODのObject Storage Service (OSS) バケットにメディアファイルをアップロードする前に、アップロードURLと資格情報を取得する必要があります。 このトピックでは、クライアントアップロードSDKを使用してメディアファイルをアップロードするときに、アップロードURLと資格情報を取得する方法について説明します。 アップロードURLと資格情報は、アップロードインスタンスの初期化に使用されます。
背景情報
クライアントのアップロードSDKは、次の権限付与方法をサポートします。
アップロードURLと資格情報を使用します。
Security Token Service (STS) トークンを使用します。
アップロードURLと資格情報は、ApsaraVideo VODによって発行され、ApsaraVideo VODのOSSバケットにメディアファイルをアップロードする権限をユーザーに付与します。 STSトークンを使用する場合と比較して、アップロードURLと資格情報を使用してメディアファイルをアップロードする方が便利です。 詳細については、「資格情報とSTSの比較」をご参照ください。 STSトークンの取得方法の詳細については、「STSトークンの取得」をご参照ください。
プロセスのアップロード
クライアントアップロードSDKは、ファイルをOSSバケットにアップロードするロジックをカプセル化します。 クライアントからメディア・ファイルをアップロードすると、サーバーで転送することなく、ApsaraVideo VODによって割り当てられたOSSバケットにファイルが直接アップロードされます。 したがって、クライアントを認証する必要があります。 アップロードURLと資格情報を取得するには、アプリケーションサーバーに認証サービスを展開する必要があります。 クライアントのアップロードSDKは、アップロード資格情報に基づく承認とSTSトークンに基づく承認をサポートしています。 アップロード資格情報の使用を推奨します。 詳細については、「資格情報とSTSの比較」をご参照ください。
アップロードURLとアップロード資格情報を使用してメディアファイルをアップロードするプロセス
次の図は、アップロードURLとアップロード資格情報を使用してメディアファイルをアップロードする完全なプロセスを示しています。 この例では、ApsaraVideo VOD SDKを統合してアップロードURLと認証情報を取得します。
ユーザーは、ApsaraVideo VOD SDKなどのアプリケーションサーバーに認証サービスをデプロイして、アップロードURLと資格情報を取得します。
クライアントは、アップロードURLとアップロード資格情報を要求する要求をアプリケーションサーバーに送信します。
アプリケーションサーバーがApsaraVideo VODにリクエストを送信し、アップロードURLと資格情報をリクエストします。
ApsaraVideo VODはアップロードURLと資格情報を返します。
説明ApsaraVideo VODはメディアIDも生成し、メディアのライフサイクル管理とメディア処理で使用できます。
ビデオの場合、メディアIDは
VideoId
パラメーターで返されます。画像の場合、メディアIDは
ImageId
パラメーターで返されます。補助メディアアセットの場合、メディアIDは
MediaId
パラメーターで返されます。返されたメディアIDは、メディアアセット管理、オーディオおよびビデオの再生、メディア処理などの後続のタスクで必要となるものを適切に保持します。
アプリケーションサーバーは、アップロードURLと資格情報をクライアントに返します。
説明アプリケーションサーバーは、アップロードURLまたは資格情報に対してBase64デコードを実行する必要はありません。
クライアントは、アップロードURLと資格情報を使用して、アップロードインスタンスを初期化します。
クライアントはアップロードパラメータを構築してアップロード要求を送信します。
OSSはアップロード結果を返します。
説明事前にコールバックを設定して、アップロードイベントに関する通知を受け取ることもできます。
STSトークンを使用してメディアファイルをアップロードするプロセス
STSトークンに基づく権限付与を使用する場合は、RAMロールを作成し、ApsaraVideo VODにアクセスするための権限をRAMロールに付与する必要があります。 詳細については、「STSを使用した動画のアップロード」をご参照ください。
次の図は、STSトークンを使用してメディアファイルをアップロードする完全なプロセスを示しています。
ユーザーは、ApsaraVideo VOD SDKなどのアプリケーションサーバーに認証サービスをデプロイして、一時的なSTSトークンを取得します。
クライアントは、STSトークンを要求する要求をアプリケーションサーバーに送信します。
アプリケーションサーバーは、STSトークンを要求する要求をSTSに送信します。
STSはトークンを返します。
アプリケーションサーバーはSTSトークンをクライアントに返します。
クライアントはSTSトークンを使用してアップロードインスタンスを初期化します。
クライアントはアップロードパラメータを構築してアップロード要求を送信します。
OSSはアップロード結果を返します。
説明事前にコールバックを設定して、アップロードイベントに関する通知を受け取ることもできます。
アップロードURLと資格情報の取得
ApsaraVideo VOD SDKを使用してAPI操作を呼び出し、アップロードURLと資格情報を取得することを推奨します。 これにより、複雑な署名計算から解放されます。 プロセスは、使用するプログラミング言語によって異なります。
このトピックでは、ApsaraVideo VOD SDK for JavaおよびPython V1.0を例として使用します。 他のプログラミング言語用のApsaraVideo VOD SDKまたはApsaraVideo VOD SDK V2.0を使用してアップロードURLと認証情報を取得するには、同様のロジックに従ってAPI操作を呼び出します。 詳細については、「ApsaraVideo VOD SDK」をご参照ください。
Language | 関連ドキュメント |
Java | |
Python |
アップロードURLと資格情報の使用
各ファイルは、アップロードURLとアップロード資格情報にバインドされます。 したがって、onUploadStartedコールバックからアプリケーションサーバーによって発行されたアップロードURLと資格情報を取得し、アップロードインスタンスでアップロードURLと資格情報を指定する必要があります。 具体的な設定は、クライアントによって異なります。
クライアント | 関連ドキュメント |
Web | |
Android | |
iOS | |
WeChat miniプログラム |