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
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 |
| |
| |
|
Prasyarat
-
SDK telah diinstal. Instalasi.
-
Instans client telah diinisialisasi. Inisialisasi.
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.

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());
}
}
}