Gunakan variabel dalam jalur output untuk menghasilkan nama unik bagi objek yang diproses secara dinamis. Tanpa variabel, beberapa task pemrosesan yang menulis ke jalur output yang sama akan saling menimpa—masalah umum dalam pekerjaan batch dan alur kerja berbasis pemicu di mana banyak objek sumber diproses secara bersamaan.
Sebagai contoh, atur jalur output untuk task ekstraksi frame video ke oss://test-bucket/{dirname}/{barename}_output.{autoext}. OSS menyelesaikan variabel pada waktu pemrosesan, sehingga setiap objek sumber menghasilkan output dengan nama yang unik.
Tempat penggunaan variabel
Variabel dapat digunakan dalam konteks berikut:
| Konteks | Tempat menentukan variabel |
|---|---|
| Tugas (OSS Console) | Bidang jalur output |
| Pemrosesan batch (Konsol OSS) | Bidang jalur output untuk objek yang diproses |
| Trigger (Konsol OSS) | Bidang jalur output saat membuat trigger |
| Parameter `sys/saveas` (API) | b dan o opsi |
| Parameter `TargetURI` (API) | Jalur output lengkap untuk task pemrosesan data |
Contoh Konsol
Tasks: Konversi dokumen ke gambar JPG. Atur jalur output ke oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext}. Selama task berlangsung, {autoext} diselesaikan menjadi jpg, dan objek yang diproses disimpan ke oss://test-bucket/output/<direktori objek sumber>/<nama objek sumber>/<nomor seri gambar>.jpg.
Pemrosesan batch: Tangkap frame PNG dari beberapa video sekaligus. Atur jalur output ke oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext}. {autoext} diselesaikan menjadi png, dan frame disimpan ke oss://test-bucket/output/<direktori video sumber>/<nama video sumber>/<nomor urut frame>.png.
Trigger: Buat trigger untuk mengonversi dokumen ke gambar JPG. Atur jalur output ke oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext}. Setiap objek baru yang ditambahkan ke bucket sumber memicu sebuah task, dan output disimpan ke oss://test-bucket/output/<direktori objek sumber>/<nama objek sumber>/<nomor urut gambar>.jpg.
Contoh API
Parameter `sys/saveas`: Opsi b dan o mendukung variabel. Untuk mengonversi halaman 1–10 dari example.docx ke gambar PNG, atur sys/saveas ke:
b_e2J1Y2tldH0,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZwDi mana:
e2J1Y2tldH0adalah nilai Base64 dari{bucket}—menyimpan ke bucket yang sama dengan objek sumber.ZG9jX2ltYWdlcy97aW5kZXh9LnBuZwadalah nilai Base64 daridoc_images/{index}.png—jalur output menjadidoc_images/<nomor halaman>.png.
Parameter `TargetURI`: Saat memanggil CreateOfficeConversionTask, atur TargetURI ke jalur output lengkap termasuk ekstensi file. Variabel didukung. Contoh: oss://test-bucket/output/{dirname}/{barename}/{index}.jpg.
Catatan penggunaan
Untuk pekerjaan pemrosesan batch dan task berbasis trigger: jika jalur output tidak diakhiri dengan
/, sertakan setidaknya satu variabel dalam nama objek. Jika tidak, objek yang diproses akan saling menimpa.Untuk task pemrosesan data: jalur output tidak boleh diakhiri dengan
/, tetapi boleh diakhiri dengan variabel.
Variabel yang tersedia
Variabel diselesaikan berdasarkan objek sumber dan waktu permintaan diajukan. Tabel berikut menunjukkan variabel yang tersedia untuk setiap jenis pemrosesan:
| Variabel | Time-of-request | IMG | Konversi dokumen | Pemrosesan media |
|---|---|---|---|---|
t_year | Ya | — | — | — |
t_mon | Ya | — | — | — |
t_day | Ya | — | — | — |
t_hour | Ya | — | — | — |
t_min | Ya | — | — | — |
t_sec | Ya | — | — | — |
bucket | — | Ya | — | — |
key | — | Ya | — | — |
dirname | — | Ya | — | — |
barename | — | Ya | — | — |
basename | — | Ya | — | — |
ext | — | Ya | — | — |
year | — | Ya | — | — |
mon | — | Ya | — | — |
day | — | Ya | — | — |
hour | — | Ya | — | — |
min | — | Ya | — | — |
sec | — | Ya | — | — |
autoext | — | — | Ya | Ya |
index | — | — | Ya (nomor halaman / subindeks sheet) | Ya (urutan segmen) |
sheetname | — | — | Ya | — |
sheetindex | — | — | Ya | — |
sheetsubindex | — | — | Ya | — |
streamindex | — | — | — | Ya |
resolution | — | — | — | Ya |
Variabel Time-of-request
Variabel ini diselesaikan berdasarkan waktu permintaan diajukan, baik secara sinkron maupun asinkron.
Referensi: Permintaan diajukan pada 2022-09-01T02:06:57.798Z.
| Variabel | Deskripsi | Format | Contoh |
|---|---|---|---|
t_year | Tahun permintaan diajukan | yyyy | 2022 |
t_mon | Bulan permintaan diajukan | mm | 09 |
t_day | Tanggal permintaan diajukan | dd | 01 |
t_hour | Jam permintaan diajukan | HH | 02 |
t_min | Menit permintaan diajukan | MM | 06 |
t_sec | Kedua, permintaan diajukan. | SS | 57 |
Berlaku untuk: tugas pemrosesan data (sinkron dan asinkron).
Variabel IMG
Variabel ini diselesaikan berdasarkan jalur objek sumber dan waktu unggahnya.
Referensi: Objek sumber oss://test-bucket/path1/path2/name.png, diunggah pada 2022-04-22 14:38:25.
| Variabel | Deskripsi | Contoh |
|---|---|---|
bucket | Nama bucket sumber | test-bucket |
key | Nama lengkap objek sumber, termasuk jalur dan ekstensi | path1/path2/name.png |
dirname | Jalur direktori objek sumber | path1/path2 |
barename | Nama objek sumber tanpa ekstensi | name |
basename | Nama objek sumber termasuk ekstensi | name.png |
ext | Ekstensi objek sumber, diturunkan dari tipe MIME-nya atau dari variabel key | png |
year | Tahun objek sumber diunggah | 2022 |
mon | Bulan objek sumber diunggah | 04 |
day | Tanggal objek sumber diunggah | 22 |
hour | Jam objek sumber diunggah | 14 |
min | Menit objek sumber diunggah | 38 |
sec | Kedua, objek sumber diunggah. | 25 |
Jangan atur nama objek output sama persis dengan nama objek sumber hanya dengan menggunakan key, dirname, barename, atau basename saja—hal ini akan menimpa objek sumber atau menyebabkan task pemrosesan berulang selama pemrosesan batch.
Berlaku untuk: Task pemrosesan IMG.
Contoh: Untuk objek sumber di oss://test-bucket/videos/2024/clip.mp4, jalur oss://output-bucket/{dirname}/{barename}_processed.{ext} diselesaikan menjadi oss://output-bucket/videos/2024/clip_processed.mp4.
Variabel konversi dokumen
Variabel ini diselesaikan berdasarkan struktur dokumen (nomor halaman, nama sheet) dari objek sumber.
Referensi: Objek Excel dengan satu sheet bernama sheet1, dikonversi ke JPG.
| Variabel | Deskripsi | Contoh |
|---|---|---|
autoext | Ekstensi objek yang diproses | png |
index | Indeks urutan konten. Untuk objek Word, PDF, dan PPT: nomor halaman. Untuk objek Excel: sheetindex_sheetsubindex. Penomoran dimulai dari 1. | Word/PDF/PPT: 1_1; Excel: 1_1 |
sheetname | Nama sheet dalam objek Excel | sheet1 |
sheetindex | Indeks sheet dalam objek Excel. Nilai minimum: 1. | 1 |
sheetsubindex | Subindeks sheet dalam objek Excel. Nilai minimum: 1. | 1 |
Berlaku untuk: Task konversi dokumen (Word, PDF, PPT, Excel).
Contoh: Untuk jalur output oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext}, mengonversi halaman 3 dari reports/Q1.docx menghasilkan oss://test-bucket/output/reports/Q1/3_1.jpg (di mana {autoext} diselesaikan menjadi jpg).
Variabel pemrosesan media
Variabel ini diselesaikan berdasarkan properti output transkoding.
Referensi: Transkoding multipart dari video.mp4 ke format TS pada resolusi 1920x1080.
| Variabel | Deskripsi | Contoh |
|---|---|---|
autoext | Ekstensi objek yang diproses | ts |
index | Indeks yang menunjukkan urutan konten dalam objek sumber. Penomoran dimulai dari 1. Digunakan untuk transkoding multipart dan pengambilan snapshot. | 1 |
streamindex | ID aliran audio atau video. Nilai minimum: 0. | 0 |
resolution | Resolusi objek yang diproses. Hanya tersedia untuk video. | 1920x1080 |
Berlaku untuk: Task pemrosesan media (transkoding video, transkoding multipart, pengambilan snapshot).
Contoh: Untuk jalur output oss://test-bucket/output/{barename}_{resolution}_{index}.{autoext}, transkoding segmen 2 dari video.mp4 pada resolusi 1920x1080 menghasilkan oss://test-bucket/output/video_1920x1080_2.ts.
Variabelautoextdanindexmuncul baik dalam konversi dokumen maupun pemrosesan media, tetapiindexmemiliki makna berbeda di masing-masing konteks: untuk konversi dokumen, ia merepresentasikan nomor halaman atau subindeks sheet; untuk pemrosesan media, ia merepresentasikan nomor urut segmen output.
Gunakan API OSS
Untuk alur kerja dengan kustomisasi tinggi, panggil API RESTful secara langsung. Pemanggilan API langsung mengharuskan Anda menyertakan perhitungan signature dalam kode Anda.
Tentukan parameter pemrosesan atau parameter gaya dalam permintaan PostObject untuk memproses objek sumber. Untuk informasi lebih lanjut, lihat sys/saveas.
Semua contoh di bawah menggunakan header x-oss-async-process untuk mengirimkan task pemrosesan asinkron. Opsi b dan o dalam sys/saveas menerima ekspresi variabel yang dikodekan Base64.
Contoh 1: Konversi dokumen
Konversi halaman 1–10 dari example.docx ke gambar PNG dan simpan ke bucket sumber dengan pola doc_images/<nomor halaman>.png.
POST /example.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: OSS qn6q**************:77Dv****************
x-oss-async-process=doc/convert,pages_MS0xMA,target_png,source_docx|sys/saveas,b_e2J1Y2tldH0,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZwParameter:
| Parameter | Nilai | Deskripsi |
|---|---|---|
pages_MS0xMA | Base64(1 to 10) | Mengonversi halaman 1–10 |
target_png | — | Format output: PNG |
source_docx | — | Format sumber: DOCX |
b_e2J1Y2tldH0 | Base64({bucket}) | Menyimpan ke bucket yang sama dengan objek sumber |
o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw | Base64(doc_images/{index}.png) | Pola jalur output: doc_images/<nomor halaman>.png |
Contoh 2: Transkoding video
Transkode example.avi ke MP4 dengan encoding H.265 pada resolusi 1920x1080, dan simpan output ke bucket sumber sebagai output.<autoext>.
POST /example.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: OSS qn6q**************:77Dv****************
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_b3V0cHV0LnthdXRvZXh0fQParameter:
| Parameter | Nilai | Deskripsi |
|---|---|---|
f_mp4 | — | Format kontainer output: MP4 |
vcodec_h265 | — | Encoding video: H.265 |
s_1920x1080 | — | Resolusi: 1920x1080 |
vb_2000000 | — | Bitrate video: 2 Mbit/s |
fps_30 | — | Laju frame: 30 fps |
acodec_aac | — | Format encoding audio: AAC |
ab_100000 | — | Bitrate audio: 100 Kbit/s |
sn_1 | — | Menonaktifkan aliran subtitle |
b_e2J1Y2tldH0 | Base64({bucket}) | Menyimpan ke bucket yang sama dengan objek sumber |
o_b3V0cHV0LnthdXRvZXh0fQ | Base64(output.{autoext}) | Jalur output: output.mp4 (ekstensi diselesaikan dari {autoext}) |