すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo VOD:アップロード URL と認証情報の取得

最終更新日:Jan 31, 2026

アップロード URL と資格情報を使用してメディアリソースをアップロードするには、アプリケーションサーバに権限付与サービスをデプロイする必要があります。このサービスは ApsaraVideo VOD からアップロード URL と資格情報を取得し、クライアントに提供します。

背景情報

開始する前に、アップロード URL と資格情報を使用する全体的なアップロードプロセスをよく理解してください。

アップロード URL と資格情報の取得

アプリケーションサーバは、さまざまなメディアタイプのアップロード URL と資格情報を取得するために、さまざまな OpenAPI 操作を呼び出す必要があります。

  1. オーディオまたはビデオファイルのアップロード URL と認証情報を取得するには、CreateUploadVideo 操作を呼び出します。

  2. オーディオまたはビデオファイルのアップロード認証情報を更新するには、RefreshUploadVideo 操作を呼び出します。

  3. イメージのアップロード URL と認証情報を取得するには、CreateUploadImage 操作を呼び出します。

  4. 補助メディアアセットのアップロード URL と認証情報を取得するには、CreateUploadAttachedMedia 操作を呼び出します。

ステップ 1:RAM ユーザーを準備する

Resource Access Management (RAM) ユーザーを作成し、次の点に注意してください。

  1. [プログラムアクセス] を有効にします。

  2. 取得した AccessKey ペアを安全に保管してください。

ステップ 2: RAM ユーザーへの権限付与

RAM ユーザーに必要な OpenAPI 操作を呼び出す権限を付与します。必要に応じて、次のいずれかのシステムポリシーをアタッチします。詳細については、「RAM ユーザーの権限管理」をご参照ください。

ポリシー名

説明

AliyunVodFullAccess

ApsaraVideo VOD を管理する権限。

AliyunVodUploadAuth

ApsaraVideo VOD にアップロードする権限。

ステップ 3: OpenAPI 操作の呼び出し

このトピックでは、ビデオリソースのアップロード URL と認証情報を取得する方法を示す Java の例を示します。開始する前に、ご利用のシステム環境で 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 {

    /**
     * 説明:
     * <p>認証情報を使用してアカウントの Client を初期化します</p>
     * @return Client
     * 
     * @throws Exception
     */
    public static com.aliyun.vod20170321.Client createClient() throws Exception {
        com.aliyun.credentials.Client credential = new com.aliyun.credentials.Client();
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                .setCredential(credential);
        // エンドポイントについては、https://api.aliyun.com/product/vod をご参照ください
        config.endpoint = "vod.cn-shanghai.aliyuncs.com";
        return new com.aliyun.vod20170321.Client(config);
    }

    public static void main(String[] args_) throws Exception {
        
        com.aliyun.vod20170321.Client client = Sample.createClient();
        com.aliyun.vod20170321.models.CreateUploadVideoRequest createUploadVideoRequest = new com.aliyun.vod20170321.models.CreateUploadVideoRequest()
                .setFileName("aliyun.mp4")
                .setTitle("aliyun");
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        try {
            com.aliyun.vod20170321.models.CreateUploadVideoResponse resp = client.createUploadVideoWithOptions(createUploadVideoRequest, runtime);
            com.aliyun.teaconsole.Client.log(com.aliyun.teautil.Common.toJSONString(resp));
        } catch (TeaException error) {
            // これはデモ用です。本番プロジェクトでは、例外を慎重に処理し、直接無視しないでください。
            // エラーメッセージ
            System.out.println(error.getMessage());
            // 診断 URL
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        } catch (Exception _error) {
            TeaException error = new TeaException(_error.getMessage(), _error);
            // これはデモ用です。本番プロジェクトでは、例外を慎重に処理し、直接無視しないでください。
            // エラーメッセージ
            System.out.println(error.getMessage());
            // 診断 URL
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        }        
    }
}