All Products
Search
Document Center

ApsaraVideo VOD:Unggah media

Last Updated:Jun 11, 2026

ApsaraVideo VOD menyediakan API unggah sisi server. Topik ini menyajikan contoh kode Java SDK untuk memperoleh kredensial unggah, memperbarui kredensial tersebut, dan mendaftarkan aset media.

Kasus penggunaan dan API terkait

Penting

Topik ini hanya menyediakan contoh pemanggilan operasi API, seperti operasi untuk memperoleh kredensial unggah dan URL unggah. Tabel berikut menjelaskan skenario di mana operasi API tersebut dapat dipanggil untuk mengunggah file media.

Operasi API

Skenario

CreateUploadVideo

  • Jika Anda mengunggah file media menggunakan SDK Object Storage Service (OSS), Anda harus menggunakan SDK ApsaraVideo VOD dan memanggil operasi untuk mendapatkan kredensial unggah dan URL unggah. URL dan kredensial yang diperoleh di-encode dalam Base64 dan harus didekode sebelum digunakan untuk menginisialisasi instans OSSClient. Untuk informasi selengkapnya, lihat Unggah file media menggunakan SDK OSS. Topik tersebut menyediakan kode sampel lengkap untuk mengunggah file media menggunakan OSS SDK untuk Java. Untuk informasi lebih lanjut tentang kode sampel dalam bahasa lain, lihat Unggah file media dengan memanggil API ApsaraVideo VOD.

  • Jika Anda mengunggah file media dari client menggunakan unggah SDK, Anda perlu mengintegrasikan SDK ApsaraVideo VOD dan memanggil operasi untuk mendapatkan atau memperbarui kredensial unggah dan URL unggah. Anda dapat memberikan URL dan kredensial kepada client tanpa perlu mendekodenya. Untuk informasi selengkapnya, lihat Unggah dari client.

RefreshUploadVideo

CreateUploadImage

CreateUploadAttachedMedia

UploadMediaByURL

  • Anda dapat memanggil operasi UploadMediaByURL untuk mengunggah file media menggunakan URL file sumber. Dengan cara ini, Anda tidak perlu mengunduh file media ke server atau perangkat Anda sebelum menggunakan unggah SDK untuk mengunggah file media ke ApsaraVideo VOD.

    Catatan

    Pekerjaan unggah berbasis URL bersifat asinkron. Setelah Anda mengirimkan pekerjaan unggah berbasis URL, proses tersebut mungkin memerlukan waktu berjam-jam, bahkan berhari-hari untuk selesai.

  • Anda dapat memanggil operasi GetURLUploadInfos untuk menanyakan progres pekerjaan unggah berbasis URL.

GetURLUploadInfos

Register media assets

Prasyarat

Catatan penggunaan

  • Semua contoh dalam topik ini menggunakan pasangan AccessKey untuk menginisialisasi instans client.

  • Untuk detail parameter permintaan dan respons, kunjungi Alibaba Cloud OpenAPI Explorer dan buka tab API Documentations.

  • Untuk contoh SDK operasi API lainnya, kunjungi Alibaba Cloud OpenAPI Explorer. Pada tab Parameters, tentukan parameter dan lakukan panggilan. Lalu pilih versi SDK dan bahasa pada tab SDK Sample Code untuk melihat serta mengunduh kode.

  • Contoh dalam topik ini menggunakan SDK V1.0. Untuk contoh V2.0, pilih versi SDK yang sesuai di OpenAPI Explorer.image.png

Contoh pemanggilan API

Dapatkan kredensial unggah untuk audio dan video

Panggil CreateUploadVideo untuk memperoleh URL dan kredensial unggah file audio atau video.

Alibaba Cloud OpenAPI Explorer: CreateUploadVideo.

Kode sampel:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.auth.AlibabaCloudCredentials;
import com.aliyuncs.auth.EnvironmentVariableCredentialsProvider;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.vod.model.v20170321.CreateUploadVideoRequest;
import com.aliyuncs.vod.model.v20170321.CreateUploadVideoResponse;

/**
 *
 * Contoh mendapatkan kredensial unggah untuk file audio atau video.
 */
public class AudioOrVideoCreateUploadDemo {

    /** 
     * Menginisialisasi AcsClient.
     */
    public static DefaultAcsClient initVodClient() throws ClientException {
    // Wilayah layanan untuk ApsaraVideo for VOD.
    String regionId = "cn-shanghai";  
    // AccessKey Akun Alibaba Cloud memiliki izin penuh atas semua operasi API. Untuk keamanan yang lebih baik, kami menyarankan Anda menggunakan RAM user untuk melakukan panggilan API.
    // Jangan hard-code ID AccessKey dan Rahasia AccessKey dalam kode proyek Anda. Jika tidak, pasangan AccessKey tersebut dapat bocor dan membahayakan keamanan semua sumber daya Anda.
    // Contoh ini menunjukkan cara mendapatkan pasangan AccessKey dari variabel lingkungan untuk mengautentikasi permintaan API. Sebelum menjalankan kode, konfigurasikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET.
    DefaultProfile profile = DefaultProfile.getProfile(regionId, System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    DefaultAcsClient client = new DefaultAcsClient(profile);
    return client;
    }

    /**
     * Dapatkan URL dan kredensial unggah untuk file audio atau video.
     * @param client Client yang mengirim permintaan.
     * @return CreateUploadVideoResponse Respons yang berisi URL dan kredensial unggah untuk file audio atau video.
     * @throws Exception
     */
    public static CreateUploadVideoResponse createUploadVideo(DefaultAcsClient client) throws Exception {
        CreateUploadVideoRequest request = new CreateUploadVideoRequest();
        request.setTitle("this is a sample");
        request.setFileName("filename.mp4");

        // Opsional. Data pengguna. Atur parameter ini jika Anda ingin menentukan URL callback dan mengaktifkan transmisi data transparan.
        //JSONObject userData = new JSONObject();

        // Pengaturan callback dalam UserData.
        // Pengaturan callback untuk notifikasi event. Jika Anda menentukan pengaturan ini, pengaturan tersebut akan menggantikan pengaturan notifikasi event global.
        //JSONObject messageCallback = new JSONObject();
        // Atur URL callback.
        //messageCallback.put("CallbackURL", "http://192.168.0.1/16");
        // Atur metode callback. Nilai default: http.
        //messageCallback.put("CallbackType", "http");
        //userData.put("MessageCallback", messageCallback.toJSONString());

        // Pengaturan transmisi data transparan dalam UserData.
        // Bidang ekstensi yang ditentukan pengguna yang dikembalikan dalam callback.
        //JSONObject extend = new JSONObject();
        //extend.put("MyId", "user-defined-id");
        //userData.put("Extend", extend.toJSONString());

        //request.setUserData(userData.toJSONString());

        return client.getAcsResponse(request);
    }
  
    /** 
     * Contoh permintaan.
     */
    public static void main(String[] argv) throws ClientException {
        try {
            DefaultAcsClient client = initVodClient();
            CreateUploadVideoResponse response = new CreateUploadVideoResponse();
            response = createUploadVideo(client);
            System.out.print("VideoId = " + response.getVideoId() + "\n");
            System.out.print("UploadAddress = " + response.getUploadAddress() + "\n");
            System.out.print("UploadAuth = " + response.getUploadAuth() + "\n");
            System.out.print("RequestId = " + response.getRequestId() + "\n");
        } catch (Exception e) {
            System.out.print("ErrorMessage = " + e.getLocalizedMessage());
        }
    }
}

Perbarui kredensial unggah untuk audio dan video

Panggil RefreshUploadVideo untuk memperbarui kredensial unggah yang kedaluwarsa untuk file audio atau video.

Alibaba Cloud OpenAPI Explorer: RefreshUploadVideo.

Kode sampel:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.auth.AlibabaCloudCredentials;
import com.aliyuncs.auth.EnvironmentVariableCredentialsProvider;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.vod.model.v20170321.RefreshUploadVideoRequest;
import com.aliyuncs.vod.model.v20170321.RefreshUploadVideoResponse;

/**
*
* Contoh memperbarui kredensial unggah untuk file audio atau video.
*/
public class AudioOrVideoRefreshUploadDemo {

    /** 
     * Menginisialisasi AcsClient.
     */
    public static DefaultAcsClient initVodClient() throws ClientException {
    // Wilayah layanan untuk ApsaraVideo for VOD.
    String regionId = "cn-shanghai";  
    // AccessKey Akun Alibaba Cloud memiliki izin penuh atas semua operasi API. Untuk keamanan yang lebih baik, kami menyarankan Anda menggunakan RAM user untuk melakukan panggilan API.
    // Jangan hard-code ID AccessKey dan Rahasia AccessKey dalam kode proyek Anda. Jika tidak, pasangan AccessKey tersebut dapat bocor dan membahayakan keamanan semua sumber daya Anda.
    // Contoh ini menunjukkan cara mendapatkan pasangan AccessKey dari variabel lingkungan untuk mengautentikasi permintaan API. Sebelum menjalankan kode, konfigurasikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET.
    DefaultProfile profile = DefaultProfile.getProfile(regionId, System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    DefaultAcsClient client = new DefaultAcsClient(profile);
    return client;
    }

    /**
     * Perbarui kredensial unggah untuk file audio atau video.
     * @param client Client yang mengirim permintaan.
     * @return RefreshUploadVideoResponse Respons yang berisi kredensial unggah yang diperbarui untuk file audio atau video.
     * @throws Exception
     */
    public static RefreshUploadVideoResponse refreshUploadVideo(DefaultAcsClient client) throws Exception {
        RefreshUploadVideoRequest request = new RefreshUploadVideoRequest();
        // ID file audio atau video.
        request.setVideoId("<VideoId>");
        return client.getAcsResponse(request);
    }

    /** 
     * Contoh permintaan.
     */
    public static void main(String[] argv)  {

        try {
            DefaultAcsClient client = initVodClient();
            RefreshUploadVideoResponse response = refreshUploadVideo(client);
            System.out.print("VideoId = " + response.getVideoId() + "\n");
            System.out.print("UploadAddress = " + response.getUploadAddress() + "\n");
            System.out.print("UploadAuth = " + response.getUploadAuth() + "\n");
            System.out.print("RequestId = " + response.getRequestId() + "\n");
        } catch (Exception e) {
            System.out.print("ErrorMessage = " + e.getLocalizedMessage());
        }
    }
}

Dapatkan kredensial unggah untuk gambar

Panggil CreateUploadImage untuk memperoleh URL dan kredensial unggah gambar.

Alibaba Cloud OpenAPI Explorer: CreateUploadImage.

Kode sampel:

import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.auth.AlibabaCloudCredentials;
import com.aliyuncs.auth.EnvironmentVariableCredentialsProvider;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.vod.model.v20170321.CreateUploadImageRequest;
import com.aliyuncs.vod.model.v20170321.CreateUploadImageResponse;

/**
 * Contoh mendapatkan kredensial unggah untuk gambar.
 *
 */
public class ImageCreateUploadDemo {

    /** 
     * Menginisialisasi AcsClient.
     */
    public static DefaultAcsClient initVodClient() throws ClientException {
    // Wilayah layanan untuk ApsaraVideo for VOD.
    String regionId = "cn-shanghai";  
    // AccessKey Akun Alibaba Cloud memiliki izin penuh atas semua operasi API. Untuk keamanan yang lebih baik, kami menyarankan Anda menggunakan RAM user untuk melakukan panggilan API.
    // Jangan hard-code ID AccessKey dan Rahasia AccessKey dalam kode proyek Anda. Jika tidak, pasangan AccessKey tersebut dapat bocor dan membahayakan keamanan semua sumber daya Anda.
    // Contoh ini menunjukkan cara mendapatkan pasangan AccessKey dari variabel lingkungan untuk mengautentikasi permintaan API. Sebelum menjalankan kode, konfigurasikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET.
    DefaultProfile profile = DefaultProfile.getProfile(regionId, System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    DefaultAcsClient client = new DefaultAcsClient(profile);
    return client;
    }

    /**
     * Dapatkan URL dan kredensial unggah untuk gambar.
     * @param client Client yang mengirim permintaan.
     * @return CreateUploadImageResponse Respons yang berisi URL dan kredensial unggah untuk gambar.
     * @throws Exception
     */
    public static CreateUploadImageResponse createUploadImage(DefaultAcsClient client) throws Exception {
        CreateUploadImageRequest request = new CreateUploadImageRequest();
        // Atur tipe gambar.
        request.setImageType("default");
        // Atur ekstensi file gambar.
        request.setImageExt("gif");
        // Atur judul gambar.
        request.setTitle("this is a sample");

        // Opsional. Data pengguna. Atur parameter ini jika Anda ingin menentukan URL callback dan mengaktifkan transmisi data transparan.
        JSONObject userData = new JSONObject();

        // Pengaturan callback dalam UserData.
        // Pengaturan callback untuk notifikasi event. Jika Anda menentukan pengaturan ini, pengaturan tersebut akan menggantikan pengaturan notifikasi event global.
        JSONObject messageCallback = new JSONObject();
        // Atur URL callback.
        messageCallback.put("CallbackURL", "http://192.168.0.0/16");
        // Atur metode callback. Nilai default: http.
        messageCallback.put("CallbackType", "http");
        userData.put("MessageCallback", messageCallback.toJSONString());

        JSONObject extend = new JSONObject();
        extend.put("MyId", "user-defined-id");
        userData.put("Extend", extend.toJSONString());

        request.setUserData(userData.toJSONString());

        return client.getAcsResponse(request);
    }

    /** 
     * Contoh permintaan.
     */
    public static void main(String[] argv)  {

        try {
            DefaultAcsClient client = initVodClient();
            CreateUploadImageResponse response = createUploadImage(client);
            System.out.print("ImageId = " + response.getImageId() + "\n");
            System.out.print("ImageURL = " + response.getImageURL() + "\n");
            System.out.print("UploadAddress = " + response.getUploadAddress() + "\n");
            System.out.print("UploadAuth = " + response.getUploadAuth() + "\n");
            System.out.print("RequestId = " + response.getRequestId() + "\n");
        } catch (Exception e) {
            System.out.print("ErrorMessage = " + e.getLocalizedMessage());
        }
    }
}

Dapatkan kredensial unggah untuk media pendukung

Panggil CreateUploadAttachedMedia untuk memperoleh URL dan kredensial unggah aset media pendukung, seperti file watermark atau subtitle.

Alibaba Cloud OpenAPI Explorer: CreateUploadAttachedMedia.

Kode sampel:

import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.auth.AlibabaCloudCredentials;
import com.aliyuncs.auth.EnvironmentVariableCredentialsProvider;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.vod.model.v20170321.CreateUploadAttachedMediaRequest;
import com.aliyuncs.vod.model.v20170321.CreateUploadAttachedMediaResponse;

/**
 * Contoh mendapatkan kredensial unggah untuk aset media pendukung.
 *
 */
public class AttachedMediaCreateUploadDemo {

     /** 
     * Menginisialisasi AcsClient.
     */
    public static DefaultAcsClient initVodClient() throws ClientException {
    // Wilayah layanan untuk ApsaraVideo for VOD.
    String regionId = "cn-shanghai";
    // AccessKey Akun Alibaba Cloud memiliki izin penuh atas semua operasi API. Untuk keamanan yang lebih baik, kami menyarankan Anda menggunakan RAM user untuk melakukan panggilan API.
    // Jangan hard-code ID AccessKey dan Rahasia AccessKey dalam kode proyek Anda. Jika tidak, pasangan AccessKey tersebut dapat bocor dan membahayakan keamanan semua sumber daya Anda.
    // Contoh ini menunjukkan cara mendapatkan pasangan AccessKey dari variabel lingkungan untuk mengautentikasi permintaan API. Sebelum menjalankan kode, konfigurasikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET.
    DefaultProfile profile = DefaultProfile.getProfile(regionId, System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    DefaultAcsClient client = new DefaultAcsClient(profile);
    return client;
    }

    /**
     * Dapatkan URL dan kredensial unggah untuk aset media pendukung, seperti file watermark atau subtitle.
     * @param client Client yang mengirim permintaan.
     * @return CreateUploadAttachedMediaResponse Respons yang berisi URL dan kredensial unggah untuk aset media pendukung.
     * @throws Exception
     */
    public static CreateUploadAttachedMediaResponse createUploadAttachedMedia(DefaultAcsClient client) throws Exception {
        CreateUploadAttachedMediaRequest request = new CreateUploadAttachedMediaRequest();
        // Atur tipe bisnis.
        request.setBusinessType("watermark");
        // Atur ekstensi file.
        request.setMediaExt("gif");
        // Atur judul.
        request.setTitle("this is a sample");

        // Opsional. Data pengguna. Atur parameter ini jika Anda ingin menentukan URL callback dan mengaktifkan transmisi data transparan.
        JSONObject userData = new JSONObject();

        // Pengaturan callback dalam UserData.
        // Pengaturan callback untuk notifikasi event. Jika Anda menentukan pengaturan ini, pengaturan tersebut akan menggantikan pengaturan notifikasi event global.
        JSONObject messageCallback = new JSONObject();
        // Atur URL callback.
        messageCallback.put("CallbackURL", "http://192.168.0.0/16");
        // Atur metode callback. Nilai default: http.
        messageCallback.put("CallbackType", "http");
        userData.put("MessageCallback", messageCallback.toJSONString());

        JSONObject extend = new JSONObject();
        extend.put("MyId", "user-defined-id");
        userData.put("Extend", extend.toJSONString());

        request.setUserData(userData.toJSONString());

        return client.getAcsResponse(request);
    }
    /** 
     * Contoh permintaan.
     */
    public static void main(String[] argv) {

        try {
            DefaultAcsClient client = initVodClient();
            CreateUploadAttachedMediaResponse response = createUploadAttachedMedia(client);
            System.out.print("mediaId = " + response.getMediaId() + "\n");
            System.out.print("mediaURL = " + response.getMediaURL() + "\n");
            System.out.print("UploadAddress = " + response.getUploadAddress() + "\n");
            System.out.print("UploadAuth = " + response.getUploadAuth() + "\n");
            System.out.print("RequestId = " + response.getRequestId() + "\n");
        } catch (Exception e) {
            System.out.print("ErrorMessage = " + e.getLocalizedMessage());
        }
    }
}

Unggah batch berbasis URL

Panggil UploadMediaByURL untuk mengunggah file media secara batch berdasarkan URL.

Alibaba Cloud OpenAPI Explorer: UploadMediaByURL.

Kode sampel:

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.auth.AlibabaCloudCredentials;
import com.aliyuncs.auth.EnvironmentVariableCredentialsProvider;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.vod.model.v20170321.UploadMediaByURLRequest;
import com.aliyuncs.vod.model.v20170321.UploadMediaByURLResponse;

import java.net.URLEncoder;

/**
 * Contoh fitur unggah batch berbasis URL.
 *
 */
public class AudioOrVideoUploadByUrl {

    /** 
     * Menginisialisasi AcsClient.
     */
    public static DefaultAcsClient initVodClient() throws ClientException {
    // Wilayah layanan untuk ApsaraVideo for VOD.
    String regionId = "cn-shanghai"; 
    // AccessKey Akun Alibaba Cloud memiliki izin penuh atas semua operasi API. Untuk keamanan yang lebih baik, kami menyarankan Anda menggunakan RAM user untuk melakukan panggilan API.
    // Jangan hard-code ID AccessKey dan Rahasia AccessKey dalam kode proyek Anda. Jika tidak, pasangan AccessKey tersebut dapat bocor dan membahayakan keamanan semua sumber daya Anda.
    // Contoh ini menunjukkan cara mendapatkan pasangan AccessKey dari variabel lingkungan untuk mengautentikasi permintaan API. Sebelum menjalankan kode, konfigurasikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET.
    DefaultProfile profile = DefaultProfile.getProfile(regionId, System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    DefaultAcsClient client = new DefaultAcsClient(profile);
    return client;
    }

    /**
     * Unggah batch berbasis URL.
     *
     * @param client Client yang mengirim permintaan.
     * @return UploadMediaByURLResponse Respons operasi unggah batch berbasis URL.
     * @throws Exception
     */
    public static UploadMediaByURLResponse uploadMediaByURL(DefaultAcsClient client) throws Exception {
        UploadMediaByURLRequest request = new UploadMediaByURLRequest();
        String url = "http://video_01.mp4";
        String encodeUrl = URLEncoder.encode(url, "UTF-8");
        // URL file video sumber.
        request.setUploadURLs(encodeUrl);

        // Metadata video yang akan diunggah.
        JSONObject uploadMetadata = new JSONObject();
        // URL file video sumber yang akan diunggah. Ini harus sesuai dengan URL dalam parameter UploadURLs.
        uploadMetadata.put("SourceUrl", encodeUrl);
        // Judul video.
        uploadMetadata.put("Title", "upload by url sample");

        JSONArray uploadMetadataList = new JSONArray();
        uploadMetadataList.add(uploadMetadata);
        request.setUploadMetadatas(uploadMetadataList.toJSONString());

        // Opsional. Data pengguna. Atur parameter ini jika Anda ingin menentukan URL callback dan mengaktifkan transmisi data transparan.
        JSONObject userData = new JSONObject();

        // Pengaturan callback dalam UserData.
        // Pengaturan callback untuk notifikasi event. Jika Anda menentukan pengaturan ini, pengaturan tersebut akan menggantikan pengaturan notifikasi event global.
        JSONObject messageCallback = new JSONObject();
        // Atur URL callback.
        messageCallback.put("CallbackURL", "http://192.168.0.0/16");
        // Atur metode callback. Nilai default: http.
        messageCallback.put("CallbackType", "http");
        userData.put("MessageCallback", messageCallback.toJSONString());

        JSONObject extend = new JSONObject();
        extend.put("MyId", "user-defined-id");
        userData.put("Extend", extend.toJSONString());

        request.setUserData(userData.toJSONString());

        return client.getAcsResponse(request);
    }

    /** 
     * Contoh permintaan.
     */
    public static void main(String[] argv) {

        try {
            DefaultAcsClient client = initVodClient();
            UploadMediaByURLResponse response = uploadMediaByURL(client);
            System.out.print("UploadJobs = " + JSON.toJSONString(response.getUploadJobs()) + "\n");
            System.out.print("RequestId = " + response.getRequestId() + "\n");
        } catch (Exception e) {
            System.out.print("ErrorMessage = " + e.getLocalizedMessage());
        }
    }

}

Daftarkan aset media

Panggil RegisterMedia untuk mendaftarkan aset media.

Alibaba Cloud OpenAPI Explorer: RegisterMedia.

Kode sampel:

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.auth.AlibabaCloudCredentials;
import com.aliyuncs.auth.EnvironmentVariableCredentialsProvider;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.vod.model.v20170321.RegisterMediaRequest;
import com.aliyuncs.vod.model.v20170321.RegisterMediaResponse;

/**
 * Contoh pendaftaran aset media.
 *
 */
public class MediaRegisterDemo {

    /** 
     * Menginisialisasi AcsClient.
     */
    public static DefaultAcsClient initVodClient() throws ClientException {
    // Wilayah layanan untuk ApsaraVideo for VOD.
    String regionId = "cn-shanghai";  
    // AccessKey Akun Alibaba Cloud memiliki izin penuh atas semua operasi API. Untuk keamanan yang lebih baik, kami menyarankan Anda menggunakan RAM user untuk melakukan panggilan API.
    // Jangan hard-code ID AccessKey dan Rahasia AccessKey dalam kode proyek Anda. Jika tidak, pasangan AccessKey tersebut dapat bocor dan membahayakan keamanan semua sumber daya Anda.
    // Contoh ini menunjukkan cara mendapatkan pasangan AccessKey dari variabel lingkungan untuk mengautentikasi permintaan API. Sebelum menjalankan kode, konfigurasikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET.
    DefaultProfile profile = DefaultProfile.getProfile(regionId, System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    DefaultAcsClient client = new DefaultAcsClient(profile);
    return client;
    }

    /**
     * Daftarkan aset media.
     * @param client Client yang mengirim permintaan.
     * @return RegisterMediaResponse Respons operasi pendaftaran aset media.
     * @throws Exception
     */
    public static RegisterMediaResponse registerMedia(DefaultAcsClient client) throws Exception {
        RegisterMediaRequest request = new RegisterMediaRequest();
        JSONArray metaDataArray = new JSONArray();
        JSONObject metaData = new JSONObject();
        // Judul.
        metaData.put("Title", "this is a sample");
        // URL file sumber. Nama file harus unik. Jika Anda menambahkan file dengan nama yang sudah ada, file tersebut akan dikaitkan dengan ID media unik yang sudah ada.
        metaData.put("FileURL", "https://192.168.0.0/16.oss-cn-shanghai.aliyuncs.com/vod_sample.mp4");
        // Tentukan metadata aset media yang akan didaftarkan.
        metaDataArray.add((metaData));
        request.setRegisterMetadatas(metaDataArray.toJSONString());
        return client.getAcsResponse(request);
    }

    /** 
     * Contoh permintaan.
     */
    public static void main(String[] argv)  {

        try {
            DefaultAcsClient client = initVodClient();
            RegisterMediaResponse response = registerMedia(client);
            if (response.getFailedFileURLs() != null && response.getFailedFileURLs().size() > 0) {
                for (String fileURL : response.getFailedFileURLs()) {
                    System.out.print("FailedFileURL = " + fileURL + "\n");
                }
            }
            if (response.getRegisteredMediaList() != null && response.getRegisteredMediaList().size() > 0) {
                for (RegisterMediaResponse.RegisteredMedia registeredMedia : response.getRegisteredMediaList()) {
                    System.out.print("MediaId = " + registeredMedia.getMediaId());
                    System.out.print("FileURL = " + registeredMedia.getFileURL());
                    System.out.print("NewRegister = " + registeredMedia.getNewRegister());
                    System.out.print("RequestId = " + response.getRequestId() + "\n");
                }
            }
        } catch (Exception e) {
            System.out.print("ErrorMessage = " + e.getLocalizedMessage());
        }

    }

}

Tanyakan informasi unggah URL

Panggil GetURLUploadInfos untuk menanyakan status dan detail pekerjaan unggah berbasis URL.

Alibaba Cloud OpenAPI Explorer: GetURLUploadInfos.

Kode sampel:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.auth.AlibabaCloudCredentials;
import com.aliyuncs.auth.EnvironmentVariableCredentialsProvider;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.vod.model.v20170321.GetURLUploadInfosRequest;
import com.aliyuncs.vod.model.v20170321.GetURLUploadInfosResponse;
import org.apache.commons.lang3.StringUtils;

import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;

/**
 * Contoh mendapatkan informasi unggah URL.
 */
public class URLUploadInfosGetDemo {
    
    /** 
     * Menginisialisasi AcsClient.
     */
    public static DefaultAcsClient initVodClient() throws ClientException {
    // Wilayah layanan untuk ApsaraVideo for VOD.
    String regionId = "cn-shanghai";  
    // AccessKey Akun Alibaba Cloud memiliki izin penuh atas semua operasi API. Untuk keamanan yang lebih baik, kami menyarankan Anda menggunakan RAM user untuk melakukan panggilan API.
    // Jangan hard-code ID AccessKey dan Rahasia AccessKey dalam kode proyek Anda. Jika tidak, pasangan AccessKey tersebut dapat bocor dan membahayakan keamanan semua sumber daya Anda.
    // Contoh ini menunjukkan cara mendapatkan pasangan AccessKey dari variabel lingkungan untuk mengautentikasi permintaan API. Sebelum menjalankan kode, konfigurasikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET.
    DefaultProfile profile = DefaultProfile.getProfile(regionId, System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    DefaultAcsClient client = new DefaultAcsClient(profile);
    return client;
    }

    /**
     * Dapatkan informasi unggah URL.
     *
     * @param client Client yang mengirim permintaan.
     * @return GetURLUploadInfosResponse Respons yang berisi informasi tentang pekerjaan unggah berbasis URL.
     * @throws Exception
     */
    public static GetURLUploadInfosResponse getURLUploadInfos(DefaultAcsClient client) throws Exception {
        GetURLUploadInfosRequest request = new GetURLUploadInfosRequest();

        // Daftar URL video sumber. URL harus di-encode dalam bentuk URL.
        String[] urls = {
                "http://exampleBucket****.cn-shanghai.aliyuncs.com/video_01.mp4",
                "http://exampleBucket****.cn-shanghai.aliyuncs.com/video_02.flv"
        };
        List<String> encodeUrlList = new ArrayList<String>();
        for (String url : urls) {
            encodeUrlList.add(URLEncoder.encode(url, "UTF-8"));
        }
        request.setUploadURLs(StringUtils.join(encodeUrlList, ','));
        // Daftar ID pekerjaan. Anda dapat memperoleh ID pekerjaan dari respons operasi API UploadMediaByURL.
        //request.setJobIds("exampleID1,exampleID2");

        return client.getAcsResponse(request);
    }

    /** 
     * Contoh permintaan.
     */
    public static void main(String[] argv) {

        try {
            DefaultAcsClient client = initVodClient();
            GetURLUploadInfosResponse response = getURLUploadInfos(client);
            System.out.print("URLUploadInfoList = " + response.getURLUploadInfoList() + "\n");
            System.out.print("RequestId = " + response.getRequestId() + "\n");
        } catch (Exception e) {
            System.out.print("ErrorMessage = " + e.getLocalizedMessage());
        }
    }
}