アップロード URL と資格情報を使用してメディアリソースをアップロードするには、アプリケーションサーバに権限付与サービスをデプロイする必要があります。このサービスは ApsaraVideo VOD からアップロード URL と資格情報を取得し、クライアントに提供します。
背景情報
開始する前に、アップロード URL と資格情報を使用する全体的なアップロードプロセスをよく理解してください。
アップロード URL と資格情報の取得
アプリケーションサーバは、さまざまなメディアタイプのアップロード URL と資格情報を取得するために、さまざまな OpenAPI 操作を呼び出す必要があります。
オーディオまたはビデオファイルのアップロード URL と資格情報を取得するには、CreateUploadVideo 操作を呼び出します。
オーディオまたはビデオファイルのアップロード資格情報を更新するには、RefreshUploadVideo 操作を呼び出します。
イメージのアップロード URL と資格情報を取得するには、CreateUploadImage 操作を呼び出します。
補助メディアアセットのアップロード URL と資格情報を取得するには、CreateUploadAttachedMedia 操作を呼び出します。
ステップ 1:RAM ユーザーを準備する
Resource Access Management (RAM) ユーザーを作成し、次の点に注意してください:
[プログラマティックアクセス] を有効にします。
取得した AccessKey ペアを安全に保管してください。
ステップ 2: RAM ユーザーへの権限付与
RAM ユーザーに必要な OpenAPI 操作を呼び出す権限を付与します。必要に応じて、次のいずれかのシステムポリシーを RAM ユーザーにアタッチできます。詳細については、「RAM ユーザーに権限を付与する」をご参照ください。
ポリシー名 | 説明 |
AliyunVodFullAccess | ApsaraVideo VOD を管理する権限。 |
AliyunVodUploadAuth | ApsaraVideo VOD にアップロードする権限。 |
ステップ 3: OpenAPI 操作の呼び出し
このトピックでは、Java の例を使用して、ビデオ リソースのアップロード URL と資格情報を取得する方法を説明します。開始する前に、システム環境で AccessKey ペアを設定します。必要に応じてサンプルコードを変更して、クライアントに API 操作を提供できます。
SDK V1.0
Maven に次の依存関係を追加します:
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.7.3</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-vod</artifactId>
<version>2.16.32</version>
</dependency>import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
import java.util.*;
import com.aliyuncs.vod.model.v20170321.*;
/*
pom.xml
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.6.0</version>
</dependency>
*/
public class CreateUploadVideo {
public static void main(String[] args) {
// 環境変数 ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET が設定されていることを確認してください。
DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
IAcsClient client = new DefaultAcsClient(profile);
CreateUploadVideoRequest request = new CreateUploadVideoRequest();
request.setFileName("aliyun.mp4");
request.setTitle("aliyun");
try {
CreateUploadVideoResponse response = client.getAcsResponse(request);
System.out.println(new Gson().toJson(response));
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
System.out.println("ErrCode:" + e.getErrCode());
System.out.println("ErrMsg:" + e.getErrMsg());
System.out.println("RequestId:" + e.getRequestId());
}
}
}
SDK V2.0
Maven に次の依存関係を追加します:
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>vod20170321</artifactId>
<version>3.6.4</version>
</dependency>セキュリティを強化するために、プロジェクトコードでは資格情報を使用しない方法を使用してください。資格情報の設定方法の詳細については、「アクセス資格情報の管理」をご参照ください。
// このファイルは自動生成されます。編集しないでください。ありがとうございます。
package com.aliyun.sample;
import com.aliyun.tea.*;
public class Sample {
/**
* 説明