Saat menggunakan fitur pemrosesan data, setiap objek memicu sebuah task. Untuk setiap task, Anda harus menentukan jalur penyimpanan objek hasil pemrosesan. Agar objek tidak saling menimpa, gunakan jalur output dinamis dengan variabel yang mereferensikan informasi dari objek sumber, seperti bucket, kunci objek (object key), atau waktu unggahnya. Misalnya, dalam task ekstraksi bingkai video, atur jalur output menjadi oss://test-bucket/{dirname}/{barename}_output.{autoext}. Dengan demikian, objek hasil disimpan di direktori yang sama dengan objek sumber, diberi nama source-object-name_output, dan secara otomatis diberi ekstensi yang sesuai.
Kasus Penggunaan
Kasus Penggunaan Konsol
-
Task: Anda dapat mereferensikan informasi objek sumber dalam jalur output task pemrosesan. Misalnya, untuk mengonversi dokumen menjadi gambar JPG, atur jalur output menjadi
oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext}. Selama pemrosesan,{autoext}diganti denganjpg. Gambar hasil disimpan keoss://test-bucket/output/direktori-sumber/nama-file-sumber/urutan-gambar.jpg.Pada kotak dialog Create Task, pilih
doc_to_jpguntuk Style. Petunjuk di bawah Output Path menyatakan bahwa Anda harus memasukkan kunci objek lengkap—yang dapat mencakup variabel—dan jalur input serta output harus berbeda. Di bagian Notification Configuration, Anda dapat memilih Message Queue. Setelah menyelesaikan konfigurasi, klik OK. -
Pemrosesan batch: Saat membuat pekerjaan pemrosesan batch, sistem menghasilkan satu task untuk setiap objek yang ada. Untuk menghindari penimpaan data, disarankan menggunakan variabel dalam jalur output. Misalnya, untuk mengekstraksi bingkai dari video dan menyimpannya sebagai gambar PNG, atur jalur output menjadi
oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext}. Selama pemrosesan,{autoext}diganti denganpng. Gambar PNG yang dihasilkan disimpan keoss://test-bucket/output/direktori-sumber/nama-file-sumber/urutan-bingkai.png.Setelah mengonfigurasi jalur output di bagian Output Configuration, pastikan jalur output berbeda dari jalur input jika Anda menggunakan variabel
key,barename, ataubasename. Hal ini mencegah objek sumber tertimpa dan menghindari pembuatan loop tak hingga. Di bagian Permission Configuration, pilih AliyunIMMBatchTriggerRole (Default Role) untuk Service Role, lalu klik OK. -
Pemicu (Triggers): Membuat pemicu akan menghasilkan satu task untuk setiap objek baru. Untuk menghindari penimpaan objek, disarankan menggunakan variabel dalam jalur output. Misalnya, jika pemicu konversi dokumen dibuat untuk mengonversi dokumen menjadi gambar JPG, atur jalur output menjadi
oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext}. Selama pemrosesan,{autoext}diganti denganjpg. Gambar JPG yang dihasilkan disimpan keoss://test-bucket/output/direktori-sumber/nama-file-sumber/urutan-gambar.jpg.Jika Anda menggunakan variabel kunci objek (object key), barename, atau basename, pastikan jalur output berbeda dari jalur input untuk mencegah penimpaan objek. Di bagian Permission Configuration, pilih AliyunIMMBatchTriggerRole (Default Role) untuk Service Role, lalu klik OK.
Kasus Penggunaan API
-
Save as (
sys/saveas): Parameter b (bucket) dan o (object) untuk operasi save as (sys/saveas) mendukung variabel. Misalnya, untuk mengonversi halaman 1 hingga 10 dari dokumen bernamaexample.docxmenjadi gambar PNG, Anda dapat mengatur parametersys/saveasmenjadib_e2J1Y2tldH0,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw. Dalam parameter ini,e2J1Y2tldH0adalah nilai Base64-encoded dari {bucket}, danZG9jX2ltYWdlcy97aW5kZXh9LnBuZwadalah nilai Base64-encoded daridoc_images/{index}.png. Gambar hasil konversi kemudian disimpan ke bucket yang sama dengan objek sumber pada jalurdoc_images/index.png. -
Task: Jalur output untuk task mendukung variabel. Misalnya, saat Anda memanggil operasi CreateOfficeConversionTask untuk membuat task konversi dokumen, Anda harus mengatur parameter TargetURI ke jalur output lengkap, termasuk ekstensinya. TargetURI dapat berisi variabel, seperti
oss://test-bucket/output/{dirname}/{barename}/{index}.jpg.
Catatan
-
Untuk pemrosesan batch dan pemicu, jika jalur output tidak diakhiri dengan garis miring maju (
/), kunci objek harus mencakup setidaknya satu variabel. Hal ini mencegah beberapa objek output saling menimpa. -
Jalur output untuk sebuah task tidak boleh diakhiri dengan garis miring maju (
/), tetapi dapat berisi variabel.
Variabel terkait Task
Anda juga dapat menggunakan timestamp permintaan pemrosesan sinkron atau asinkron sebagai variabel. Misalnya, jika Anda mengirim permintaan pemrosesan pada 2022-09-01T02:06:57.798Z, Anda dapat menggunakan variabel dalam tabel berikut.
|
Parameter |
Deskripsi |
Contoh nilai |
|
t_year |
Tahun empat digit (yyyy) saat permintaan dikirim. |
|
|
t_mon |
Bulan dua digit (mm) saat permintaan dikirim. |
|
|
t_day |
Hari dua digit (dd) saat permintaan dikirim. |
|
|
t_hour |
Jam (HH, format 24 jam) saat permintaan dikirim. |
|
|
t_min |
Menit (MM) saat permintaan dikirim. |
|
|
t_sec |
Detik (SS) saat permintaan dikirim. |
|
Variabel pemrosesan gambar
Untuk objek sumber bernama oss://test-bucket/path1/path2/name.png yang diunggah pada 2022-04-22 14:38:25, Anda dapat menggunakan variabel dalam tabel berikut.
|
Parameter |
Deskripsi |
Contoh nilai |
|
bucket |
Nama bucket tempat objek sumber disimpan. |
|
|
key |
Kunci objek (object key) objek sumber di dalam bucket. Penting
Jangan atur jalur output dan sumber menjadi identik saat menggunakan variabel ini. Jika tidak, Anda mungkin menimpa objek sumber atau menyebabkan loop tak hingga dalam pekerjaan pemrosesan batch. |
|
|
dirname |
Jalur direktori objek sumber. Penting
Jangan atur jalur output dan sumber menjadi identik saat menggunakan variabel ini. Jika tidak, Anda mungkin menimpa objek sumber atau menyebabkan loop tak hingga dalam pekerjaan pemrosesan batch. |
|
|
barename |
Nama objek sumber tanpa ekstensinya. Penting
Jangan atur jalur output dan sumber menjadi identik saat menggunakan variabel ini. Jika tidak, Anda mungkin menimpa objek sumber atau menyebabkan loop tak hingga dalam pekerjaan pemrosesan batch. |
|
|
basename |
Nama objek sumber beserta ekstensinya. Penting
Jangan atur jalur output dan sumber menjadi identik saat menggunakan variabel ini. Jika tidak, Anda mungkin menimpa objek sumber atau menyebabkan loop tak hingga dalam pekerjaan pemrosesan batch. |
|
|
ext |
Ekstensi objek sumber. Ekstensi diperoleh dari |
|
|
year |
Tahun empat digit (yyyy) saat objek sumber diunggah. |
|
|
mon |
Bulan dua digit (mm) saat objek sumber diunggah. |
|
|
day |
Hari dua digit (dd) saat objek sumber diunggah. |
|
|
hour |
Jam (HH, format 24 jam) saat objek sumber diunggah. |
|
|
min |
Menit (MM) saat objek sumber diunggah. |
|
|
sec |
Detik (SS) saat objek sumber diunggah. |
|
Variabel konversi dokumen
Untuk konversi dokumen, Anda dapat menggunakan variabel seperti nomor halaman dan nama sheet. Misalnya, untuk mengonversi dokumen Excel yang berisi sheet bernama sheet1 menjadi gambar JPG, Anda dapat menggunakan variabel dalam tabel berikut.
|
Parameter |
Deskripsi |
Contoh nilai |
|
autoext |
Ekstensi objek output dalam task konversi dokumen. |
|
|
index |
Indeks output, yang bertambah mulai dari 1. Untuk dokumen Word, PDF, dan PPT, variabel ini merepresentasikan nomor halaman. Untuk dokumen Excel, formatnya adalah sheetindex_sheetsubindex. |
Untuk Word, PDF, dan PPT: Untuk Excel: |
|
sheetname |
Nama sheet dalam dokumen Excel. |
|
|
sheetindex |
Indeks sheet dalam dokumen Excel, dimulai dari 1. |
|
|
sheetsubindex |
Sub-indeks sheet dalam dokumen Excel, dimulai dari 1. |
|
Variabel pemrosesan media
Untuk pemrosesan media, Anda dapat menggunakan variabel seperti ekstensi kontainer dan resolusi. Misalnya, untuk mentranskode video bernama video.mp4 menjadi segmen ts dengan resolusi 1920x1080, Anda dapat menggunakan variabel dalam tabel berikut.
|
Parameter |
Deskripsi |
Contoh nilai |
|
autoext |
Ekstensi objek output dalam task pemrosesan media. |
|
|
index |
Indeks output, yang bertambah mulai dari 1. Ini digunakan dalam skenario multi-output seperti transkoding tersegmentasi atau ekstraksi bingkai. |
|
|
streamindex |
ID aliran audio atau video. ID untuk aliran audio dan video bertambah secara independen mulai dari 0. |
|
|
resolution |
Resolusi yang ditetapkan untuk transkoding. Ini hanya tersedia untuk transkoding video. |
|
Menggunakan REST API
Jika aplikasi Anda memerlukan tingkat kustomisasi yang tinggi, Anda dapat langsung memanggil RESTful API, yang mengharuskan Anda menulis kode untuk menghitung signature secara manual.
Anda dapat memproses objek dengan menambahkan parameter pemrosesan atau style ke permintaan PostObject. Untuk informasi selengkapnya, lihat Save as.
Contoh 1: Konversi format dokumen
Contoh RESTful API berikut menunjukkan cara menambahkan parameter pemrosesan ke permintaan PostObject untuk mengonversi format example.docx. Parameter b (bucket) dan o (object) dari operasi save as (sys/saveas) menggunakan variabel.
-
pages_MS0xMA: Mengonversi halaman 1 hingga 10 dokumen.MS0xMAadalah nilai Base64-encoded dari "1-10". -
target_png: Mengonversi dokumen ke format gambar PNG. -
source_docx: Menentukan bahwa tipe objek sumber adalah DOCX. -
sys/saveas: Save as.-
b_e2J1Y2tldH0: Setelah transkoding selesai, variabel {bucket} menyimpan gambar hasil ke bucket sumber.e2J1Y2tldH0adalah nilai Base64-encoded dari {bucket}. -
o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw: Ini menyimpan objek ke direktoridoc_images. Kunci objek menggunakan variabel{index}, yang sesuai dengan nomor halamanexample.docx.ZG9jX2ltYWdlcy97aW5kZXh9LnBuZwadalah nilai Base64-encoded daridoc_images/{index}.png.
-
POST /exmaple.docx?x-oss-async-process HTTP/1.1
Host: doc-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
// Mengonversi halaman 1 hingga 10 objek example.docx menjadi gambar PNG. Objek hasil disimpan ke oss://source-bucket/doc_images/nomor-halaman.png.
x-oss-async-process=doc/convert,pages_MS0xMA,target_png,source_docx|sys/saveas,b_e2J1Y2tldH0,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw
Contoh 2: Transkoding video
Contoh ini menunjukkan cara mentranskode objek example.avi dengan mengonfigurasi beberapa parameter pemrosesan.
-
f_mp4: Menetapkan kontainer file media hasil transkoding menjadi MP4. -
vcodec_h265: Menetapkan format aliran video menjadi H.265. -
s_1920x1080: Menetapkan resolusi menjadi 1920x1080. -
vb_2000000: Menetapkan bitrate video menjadi 2 Mbps. -
fps_30: Menetapkan laju bingkai video menjadi 30 fps. -
acodec_aac: Menetapkan format encoding audio menjadi AAC. -
ab_100000: Menetapkan bitrate audio menjadi 100 Kbps. -
sn_1: Menonaktifkan aliran subtitle. -
sys/saveas: Save as.-
b_e2J1Y2tldH0: Setelah transkoding selesai, objek hasil disimpan ke bucket sumber dengan menggunakan variabel {bucket}.e2J1Y2tldH0adalah nilai Base64-encoded dari {bucket}. -
o_b3V0cHV0LnthdXRvZXh0fQ: Variabel {autoext} secara otomatis menambahkan ekstensi ke objek, sehingga objek yang disimpan bernamaoutput.mp4.b3V0cHV0LnthdXRvZXh0fQadalah nilai Base64-encoded darioutput.{autoext}.
-
POST /exmaple.avi?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
x-oss-async-process=video/convert,f_mp4,vcodec_h265,s_1920x1080,vb_2000000,fps_30,acodec_aac,ab_100000,sn_1|sys/saveas,b_e2J1Y2tldH0,o_b3V0cHV0LnthdXRvZXh0fQ