ApsaraVideo VOD menyediakan serangkaian lengkap API upload sisi server yang memungkinkan pengembang mengunggah file media dengan berbagai metode. Topik ini menjelaskan skenario dan menyediakan contoh kode untuk memanggil API upload sisi server menggunakan kit pengembangan perangkat lunak (SDK) Java.
Skenario
Topik ini hanya menyediakan contoh pemanggilan operasi API, seperti operasi untuk mendapatkan kredensial upload dan URL upload. Tabel berikut menjelaskan skenario di mana operasi API tersebut dapat dipanggil untuk mengunggah file media.
Operasi API | Skenario |
| |
| |
|
Prasyarat
Instal SDK. Untuk informasi selengkapnya, lihat Instalasi.
Inisialisasi instans client. Untuk informasi selengkapnya, lihat Inisialisasi.
Catatan pemanggilan API
Dalam topik ini, pasangan Kunci Akses digunakan untuk menginisialisasi instans client pada contoh kode.
Untuk deskripsi detail parameter API dan bidang yang dikembalikan, kunjungi Alibaba Cloud OpenAPI Portal dan lihat tab Documentation untuk setiap API.
Topik ini hanya menyediakan contoh kode untuk beberapa API kompleks. Untuk mendapatkan contoh kode SDK untuk API lainnya, buka Alibaba Cloud OpenAPI Portal. Pada tab Parameter Settings di sebelah kiri, masukkan informasi parameter yang diperlukan dan lakukan panggilan. Kemudian, pada tab SDK Sample di sebelah kanan, pilih versi SDK dan bahasa target untuk melihat serta mengunduh kode contoh.
Pemanggilan API dalam topik ini menggunakan SDK V1.0 sebagai contoh. Untuk mendapatkan contoh SDK V2.0, tentukan versi SDK yang sesuai saat Anda mengambil kode contoh dari Alibaba Cloud OpenAPI Portal.

Contoh pemanggilan API
Dapatkan URL upload dan kredensial untuk file audio atau video
Panggil API CreateUploadVideo untuk mendapatkan URL upload dan kredensial untuk file audio atau video.
Tautan Alibaba Cloud OpenAPI Portal: CreateUploadVideo.
Kode contoh:
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 kode untuk mendapatkan kredensial upload untuk file audio atau video
*/
public class AudioOrVideoCreateUploadDemo {
/**
* Baca Informasi AccessKey
*/
public static DefaultAcsClient initVodClient() throws ClientException {
// Wilayah tempat ApsaraVideo VOD diaktifkan.
String regionId = "cn-shanghai";
// Pasangan AccessKey dari Akun Alibaba Cloud memiliki izin atas semua operasi API. Kami menyarankan agar Anda menggunakan Pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin.
// Kami sangat menyarankan agar Anda tidak menyematkan ID AccessKey dan Rahasia AccessKey secara langsung dalam kode proyek Anda. Jika tidak, pasangan AccessKey tersebut dapat bocor, yang mengancam keamanan semua sumber daya Anda.
// Contoh ini menunjukkan cara membaca pasangan AccessKey dari variabel lingkungan untuk mengotentikasi akses API. Sebelum menjalankan kode contoh, 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 upload dan kredensial untuk file audio atau video
* @param client Client yang mengirim permintaan
* @return CreateUploadVideoResponse Data respons untuk mendapatkan URL upload dan kredensial 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");
// UserData: Pengaturan parameter yang didefinisikan pengguna. Atur parameter ini jika Anda perlu menentukan alamat webhook dan data transmisi langsung. Parameter ini opsional.
//JSONObject userData = new JSONObject();
// Pengaturan callback UserData
// Pengaturan callback pesan. Jika parameter ini diatur, akan menggantikan pengaturan notifikasi event global.
//JSONObject messageCallback = new JSONObject();
// Atur alamat webhook
//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 data transmisi langsung UserData
// Bidang ekstensi yang didefinisikan pengguna, yang diteruskan 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 upload untuk file audio atau video
Panggil API RefreshUploadVideo untuk memperbarui kredensial upload untuk file audio atau video.
Tautan Alibaba Cloud OpenAPI Portal: RefreshUploadVideo.
Kode contoh:
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 kode untuk memperbarui kredensial upload untuk file audio atau video
*/
public class AudioOrVideoRefreshUploadDemo {
/**
* Baca Informasi AccessKey
*/
public static DefaultAcsClient initVodClient() throws ClientException {
// Wilayah tempat ApsaraVideo VOD diaktifkan.
String regionId = "cn-shanghai";
// Pasangan AccessKey dari Akun Alibaba Cloud memiliki izin atas semua operasi API. Kami menyarankan agar Anda menggunakan Pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin.
// Kami sangat menyarankan agar Anda tidak menyematkan ID AccessKey dan Rahasia AccessKey secara langsung dalam kode proyek Anda. Jika tidak, pasangan AccessKey tersebut dapat bocor, yang mengancam keamanan semua sumber daya Anda.
// Contoh ini menunjukkan cara membaca pasangan AccessKey dari variabel lingkungan untuk mengotentikasi akses API. Sebelum menjalankan kode contoh, 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 upload untuk file audio atau video
* @param client Client yang mengirim permintaan
* @return RefreshUploadVideoResponse Data respons untuk memperbarui kredensial upload 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 URL upload dan kredensial untuk gambar
Panggil API CreateUploadImage untuk mendapatkan URL upload dan kredensial untuk gambar.
Tautan Alibaba Cloud OpenAPI Portal: CreateUploadImage.
Kode contoh:
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 kode untuk mendapatkan kredensial upload untuk gambar
*
*/
public class ImageCreateUploadDemo {
/**
* Baca Informasi AccessKey
*/
public static DefaultAcsClient initVodClient() throws ClientException {
// Wilayah tempat ApsaraVideo VOD diaktifkan.
String regionId = "cn-shanghai";
// Pasangan AccessKey dari Akun Alibaba Cloud memiliki izin atas semua operasi API. Kami menyarankan agar Anda menggunakan Pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin.
// Kami sangat menyarankan agar Anda tidak menyematkan ID AccessKey dan Rahasia AccessKey secara langsung dalam kode proyek Anda. Jika tidak, pasangan AccessKey tersebut dapat bocor, yang mengancam keamanan semua sumber daya Anda.
// Contoh ini menunjukkan cara membaca pasangan AccessKey dari variabel lingkungan untuk mengotentikasi akses API. Sebelum menjalankan kode contoh, 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 upload dan kredensial untuk gambar
* @param client Client yang mengirim permintaan
* @return CreateUploadImageResponse Data respons untuk mendapatkan URL upload dan kredensial untuk gambar
* @throws Exception
*/
public static CreateUploadImageResponse createUploadImage(DefaultAcsClient client) throws Exception {
CreateUploadImageRequest request = new CreateUploadImageRequest();
// Atur tipe gambar
request.setImageType("default");
// Atur ekstensi nama file gambar
request.setImageExt("gif");
// Atur judul gambar
request.setTitle("this is a sample");
// UserData: Pengaturan parameter yang didefinisikan pengguna. Atur parameter ini jika Anda perlu menentukan alamat webhook dan data transmisi langsung. Parameter ini opsional.
JSONObject userData = new JSONObject();
// Pengaturan callback UserData
// Pengaturan callback pesan. Jika parameter ini diatur, akan menggantikan pengaturan notifikasi event global.
JSONObject messageCallback = new JSONObject();
// Atur alamat webhook
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 URL upload dan kredensial untuk aset media pendukung
Panggil API CreateUploadAttachedMedia untuk mendapatkan URL upload dan kredensial untuk aset media pendukung.
Tautan Alibaba Cloud OpenAPI Portal: CreateUploadAttachedMedia.
Kode contoh:
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 kode untuk mendapatkan kredensial upload untuk aset media pendukung
*
*/
public class AttachedMediaCreateUploadDemo {
/**
* Baca Informasi AccessKey
*/
public static DefaultAcsClient initVodClient() throws ClientException {
// Wilayah tempat ApsaraVideo VOD diaktifkan.
String regionId = "cn-shanghai";
// Pasangan AccessKey dari Akun Alibaba Cloud memiliki izin atas semua operasi API. Kami menyarankan agar Anda menggunakan Pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin.
// Kami sangat menyarankan agar Anda tidak menyematkan ID AccessKey dan Rahasia AccessKey secara langsung dalam kode proyek Anda. Jika tidak, pasangan AccessKey tersebut dapat bocor, yang mengancam keamanan semua sumber daya Anda.
// Contoh ini menunjukkan cara membaca pasangan AccessKey dari variabel lingkungan untuk mengotentikasi akses API. Sebelum menjalankan kode contoh, 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 upload dan kredensial untuk aset media pendukung (seperti Watermark atau caption)
* @param client Client yang mengirim permintaan
* @return CreateUploadAttachedMediaResponse Data respons untuk mendapatkan URL upload dan kredensial 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 nama file
request.setMediaExt("gif");
// Atur judul
request.setTitle("this is a sample");
// UserData: Pengaturan parameter yang didefinisikan pengguna. Atur parameter ini jika Anda perlu menentukan alamat webhook dan data transmisi langsung. Parameter ini opsional.
JSONObject userData = new JSONObject();
// Pengaturan callback UserData
// Pengaturan callback pesan. Jika parameter ini diatur, akan menggantikan pengaturan notifikasi event global.
JSONObject messageCallback = new JSONObject();
// Atur alamat webhook
messageCallback.put("CallbackURL", "http://192.168.0.0/16");
// Atur tipe 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());
}
}
}Upload batch berdasarkan URL
Panggil API UploadMediaByURL untuk melakukan upload batch berdasarkan URL.
Tautan Alibaba Cloud OpenAPI Portal: UploadMediaByURL.
Kode contoh:
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 kode untuk fitur upload batch berdasarkan URL
*
*/
public class AudioOrVideoUploadByUrl {
/**
* Baca Informasi AccessKey
*/
public static DefaultAcsClient initVodClient() throws ClientException {
// Wilayah tempat ApsaraVideo VOD diaktifkan.
String regionId = "cn-shanghai";
// Pasangan AccessKey dari Akun Alibaba Cloud memiliki izin atas semua operasi API. Kami menyarankan agar Anda menggunakan Pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin.
// Kami sangat menyarankan agar Anda tidak menyematkan ID AccessKey dan Rahasia AccessKey secara langsung dalam kode proyek Anda. Jika tidak, pasangan AccessKey tersebut dapat bocor, yang mengancam keamanan semua sumber daya Anda.
// Contoh ini menunjukkan cara membaca pasangan AccessKey dari variabel lingkungan untuk mengotentikasi akses API. Sebelum menjalankan kode contoh, 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;
}
/**
* Upload batch berdasarkan URL
*
* @param client Client yang mengirim permintaan
* @return UploadMediaByURLResponse Data respons untuk upload batch berdasarkan 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 sumber video
request.setUploadURLs(encodeUrl);
// Metadata video yang akan diunggah
JSONObject uploadMetadata = new JSONObject();
// URL file sumber video yang akan diunggah. Harus sesuai dengan URL dalam UploadURLs agar berlaku.
uploadMetadata.put("SourceUrl", encodeUrl);
// Judul video
uploadMetadata.put("Title", "upload by url sample");
JSONArray uploadMetadataList = new JSONArray();
uploadMetadataList.add(uploadMetadata);
request.setUploadMetadatas(uploadMetadataList.toJSONString());
// UserData: Pengaturan parameter yang didefinisikan pengguna. Atur parameter ini jika Anda perlu menentukan alamat webhook dan data transmisi langsung. Parameter ini opsional.
JSONObject userData = new JSONObject();
// Pengaturan callback UserData
// Pengaturan callback pesan. Jika parameter ini diatur, akan menggantikan pengaturan notifikasi event global.
JSONObject messageCallback = new JSONObject();
// Atur alamat webhook
messageCallback.put("CallbackURL", "http://192.168.0.0/16");
// Atur tipe 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 informasi aset media
Panggil API RegisterMedia untuk mendaftarkan informasi aset media.
Tautan Alibaba Cloud OpenAPI Portal: RegisterMedia.
Kode contoh:
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 kode untuk pendaftaran aset media
*
*/
public class MediaRegisterDemo {
/**
* Baca Informasi AccessKey
*/
public static DefaultAcsClient initVodClient() throws ClientException {
// Wilayah tempat ApsaraVideo VOD diaktifkan.
String regionId = "cn-shanghai";
// Pasangan AccessKey dari Akun Alibaba Cloud memiliki izin atas semua operasi API. Kami menyarankan agar Anda menggunakan Pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin.
// Kami sangat menyarankan agar Anda tidak menyematkan ID AccessKey dan Rahasia AccessKey secara langsung dalam kode proyek Anda. Jika tidak, pasangan AccessKey tersebut dapat bocor, yang mengancam keamanan semua sumber daya Anda.
// Contoh ini menunjukkan cara membaca pasangan AccessKey dari variabel lingkungan untuk mengotentikasi akses API. Sebelum menjalankan kode contoh, 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 informasi aset media
* @param client Client yang mengirim permintaan
* @return RegisterMediaResponse Data respons untuk mendaftarkan informasi 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 secara global. Jika Anda menambahkan file dengan nama yang sama, file tersebut akan dikaitkan dengan ID media unik.
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());
}
}
}Dapatkan informasi upload URL
Panggil API GetURLUploadInfos untuk mengambil informasi upload URL.
Tautan Alibaba Cloud OpenAPI Portal: GetURLUploadInfos.
Kode contoh:
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 kode untuk mendapatkan informasi upload URL
*/
public class URLUploadInfosGetDemo {
/**
* Baca Informasi AccessKey
*/
public static DefaultAcsClient initVodClient() throws ClientException {
// Wilayah tempat ApsaraVideo VOD diaktifkan.
String regionId = "cn-shanghai";
// Pasangan AccessKey dari Akun Alibaba Cloud memiliki izin atas semua operasi API. Kami menyarankan agar Anda menggunakan Pengguna RAM untuk memanggil operasi API atau melakukan O&M rutin.
// Kami sangat menyarankan agar Anda tidak menyematkan ID AccessKey dan Rahasia AccessKey secara langsung dalam kode proyek Anda. Jika tidak, pasangan AccessKey tersebut dapat bocor, yang mengancam keamanan semua sumber daya Anda.
// Contoh ini menunjukkan cara membaca pasangan AccessKey dari variabel lingkungan untuk mengotentikasi akses API. Sebelum menjalankan kode contoh, 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 upload URL
*
* @param client Client yang mengirim permintaan
* @return GetURLUploadInfosResponse Data respons untuk mendapatkan informasi upload URL
* @throws Exception
*/
public static GetURLUploadInfosResponse getURLUploadInfos(DefaultAcsClient client) throws Exception {
GetURLUploadInfosRequest request = new GetURLUploadInfosRequest();
// Daftar URL video sumber. URL harus dikodekan 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 struktur PlayInfo yang dikembalikan oleh API GetPlayInfo.
//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());
}
}
}