Tous les produits
Search
Centre de documentation

ApsaraVideo VOD:Obtain an upload URL and credential

Dernière mise à jour :Aug 10, 2026

Pour charger des ressources multimédias à l'aide d'une URL de chargement et d'un identifiant, vous devez déployer un service d'autorisation sur votre serveur d'applications. Ce service obtient l'URL de chargement et l'identifiant auprès d'ApsaraVideo VOD, puis les transmet à votre client.

Contexte

Avant de commencer, familiarisez-vous avec le processus de chargement global qui utilise une URL de chargement et un identifiant.

Obtenir une URL de chargement et un identifiant

Votre serveur d'applications doit appeler différentes opérations OpenAPI pour obtenir des URL de chargement et des identifiants selon le type de média.

  1. Pour obtenir l'URL de chargement et l'identifiant d'un fichier audio ou vidéo, appelez l'opération CreateUploadVideo.

  2. Pour actualiser l'identifiant de chargement d'un fichier audio ou vidéo, appelez l'opération RefreshUploadVideo.

  3. Pour obtenir l'URL de chargement et l'identifiant d'une image, appelez l'opération CreateUploadImage.

  4. Pour obtenir l'URL de chargement et l'identifiant d'un élément multimédia auxiliaire, appelez l'opération CreateUploadAttachedMedia.

Étape 1 : Préparer un utilisateur RAM

Créez un utilisateur Resource Access Management (RAM) en tenant compte des points suivants :

  1. Activez l'accès par programmation.

  2. Conservez en toute sécurité la paire de clés AccessKey obtenue.

Étape 2 : Accorder des autorisations à l'utilisateur RAM

Accordez à l'utilisateur RAM les autorisations nécessaires pour appeler les opérations OpenAPI requises. Attachez l'une des politiques système suivantes selon vos besoins. Pour plus d'informations, consultez la rubrique Gérer les autorisations d'un utilisateur RAM.

Nom de la politique

Description

AliyunVodFullAccess

Autorisations de gestion d'ApsaraVideo VOD.

AliyunVodUploadAuth

Autorisations de chargement vers ApsaraVideo VOD.

Étape 3 : Appeler une opération OpenAPI

Cette rubrique fournit un exemple en Java illustrant comment obtenir l'URL de chargement et l'identifiant pour une ressource vidéo. Avant de commencer, configurez une paire de clés AccessKey dans votre environnement système. Vous pouvez adapter l'exemple de code selon vos besoins pour fournir une opération API à votre client.

SDK V1.0

Ajoutez les dépendances suivantes dans 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) {

        // Please ensure that the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set.
        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

Ajoutez la dépendance suivante dans Maven :

<dependency>
   <groupId>com.aliyun</groupId>
   <artifactId>vod20170321</artifactId>
   <version>3.6.4</version>
</dependency>
Remarque

Pour une sécurité renforcée, utilisez une méthode sans informations d'identification dans le code de votre projet. Pour plus d'informations sur la configuration des informations d'identification, consultez la rubrique Gérer les informations d'identification d'accès.

// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sample;

import com.aliyun.tea.*;

public class Sample {

    /**
     * description :
     * <p>Initialize the account Client with credentials</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);
        // For the endpoint, see 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) {
            // This is for demonstration purposes only. Handle exceptions carefully and never ignore them directly in production projects.
            // Error message
            System.out.println(error.getMessage());
            // Diagnostic 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);
            // This is for demonstration purposes only. Handle exceptions carefully and never ignore them directly in production projects.
            // Error message
            System.out.println(error.getMessage());
            // Diagnostic URL
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        }        
    }
}