Saat menggunakan fitur pemrosesan data, setiap objek memicu tugas yang memerlukan jalur penyimpanan tertentu untuk file yang diproses. Untuk mencegah penimpaan file, pastikan jalur keluaran bersifat dinamis. Anda dapat menggunakan informasi tentang objek sumber dalam jalur keluaran seperti nama bucket, nama objek, dan waktu unggah objek. Sebagai contoh, tentukan jalur keluaran sebagai oss://test-bucket/{dirname}/{barename}_output.{autoext} untuk tugas ekstraksi frame video. Objek yang diproses diberi nama Nama objek sumber_output. Akhiran secara otomatis ditambahkan ke objek yang diproses.
Skenario
Skema penggunaan dalam konsol OSS
Tugas: Tugas pemrosesan data dapat menggunakan informasi objek sumber dalam jalur keluaran. Sebagai contoh, jika Anda ingin mengonversi dokumen menjadi gambar jpg, atur jalur keluaran menjadi
oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext}, di mana{autoext}diganti denganjpgselama tugas konversi dokumen. Objek yang diproses disimpan dioss://test-bucket/output/direktori objek sumber/nama objek sumber/nomor urut gambar.jpg.Pemrosesan Batch: Setelah pekerjaan pemrosesan batch dibuat, tugas pemrosesan data dihasilkan. Untuk mencegah penimpaan, disarankan menetapkan variabel dalam jalur keluaran objek yang diproses. Sebagai contoh, jika Anda ingin menangkap frame png dari beberapa video sekaligus, atur jalur keluaran frame png menjadi
oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext}, di mana{autoext}diganti denganpng. Frame png disimpan dioss://test-bucket/output/direktori video sumber/nama video sumber/nomor urut frame.png.Pemicu: Setelah membuat pemicu, tugas dibuat untuk setiap objek baru. Untuk mencegah penimpaan, disarankan menetapkan variabel dalam jalur keluaran objek yang diproses saat membuat pemicu. Sebagai contoh, jika Anda membuat pemicu untuk mengonversi dokumen menjadi gambar jpg, atur jalur keluaran gambar jpg menjadi
oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext}, di mana{autoext}diganti denganjpgselama tugas konversi dokumen. Gambar jpg disimpan dioss://test-bucket/output/direktori objek sumber/nama objek sumber/nomor urut gambar.jpg.
Skema penggunaan API
Parameter
sys/saveas: Opsi b dan o dalam parameter sys/saveas mendukung variabel. Sebagai contoh, jika Anda ingin mengonversi halaman 1 hingga halaman 10 dari dokumen bernamaexample.docxmenjadi gambar png, tetapkan parametersys/saveasmenjadib_e2J1Y2tldH0,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw, di mana e2J1Y2tldH0 adalah nilai Base64-encoded dari {bucket} dan ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw adalah nilai Base64-encoded dari doc_images/{index}.png. Dalam hal ini, gambar png disimpan dalam bucket yang sama dengan objek sumber dan jalur keluaran gambar png adalahdoc_images/index.png.Tugas: Jalur keluaran objek yang diproses untuk tugas pemrosesan data dapat berisi variabel. Sebagai contoh, ketika Anda memanggil operasi CreateOfficeConversionTask untuk membuat tugas konversi dokumen, Anda harus menetapkan parameter TargetURI ke jalur keluaran lengkap objek yang diproses yang mencakup ekstensi file. Variabel dapat digunakan dalam parameter TargetURI. Contoh:
oss://test-bucket/output/{dirname}/{barename}/{index}.jpg.
Catatan penggunaan
Jika jalur keluaran objek yang diproses untuk pekerjaan pemrosesan batch atau tugas pemicu tidak diakhiri dengan garis miring (
/), Anda harus menyertakan setidaknya satu variabel dalam nama objek yang diproses. Jika tidak, beberapa objek yang diproses mungkin saling menimpa.Jalur keluaran objek yang diproses untuk tugas pemrosesan data tidak boleh diakhiri dengan garis miring (
/), tetapi dapat diakhiri dengan variabel.
Variabel terkait tugas pemrosesan data
Titik waktu ketika permintaan diproses secara sinkron atau asinkron dapat digunakan sebagai variabel. Sebagai contoh, Anda dapat menggunakan variabel dalam tabel berikut dalam permintaan yang dikirim pada 2022-09-01T02:06:57.798Z.
Variabel | Deskripsi | Contoh |
t_year | Tahun ketika permintaan dikirim. Format: yyyy. |
|
t_mon | Bulan ketika permintaan dikirim. Format: mm. |
|
t_day | Hari ketika permintaan dikirim. Format: dd. |
|
t_hour | Jam ketika permintaan dikirim. Format: HH. |
|
t_min | Menit ketika permintaan dikirim. Format: MM. |
|
t_sec | Detik ketika permintaan dikirim. Format: SS. |
|
Variabel terkait IMG
Dalam contoh ini, tugas pemrosesan data dijalankan pada objek sumber bernama oss://test-bucket/path1/path2/name.png, yang diunggah pada 2022-04-22 14:38:25. Jalur keluaran objek yang diproses untuk tugas pemrosesan data dapat berisi variabel dalam tabel berikut.
Variabel | Deskripsi | Contoh |
bucket | Nama bucket sumber tempat objek sumber disimpan. |
|
key | Nama objek sumber dalam bucket sumber. Penting Jangan atur nama objek yang diproses menjadi nama objek sumber. Jika tidak, objek sumber akan ditimpa atau tugas pemrosesan data berjalan dalam loop selama pemrosesan batch. |
|
dirname | Direktori tempat objek sumber disimpan. Penting Jangan atur nama objek yang diproses menjadi nama objek sumber. Jika tidak, objek sumber akan ditimpa atau tugas pemrosesan data berjalan dalam loop selama pemrosesan batch. |
|
barename | Nama objek sumber, tidak termasuk ekstensi. Penting Jangan atur nama objek yang diproses menjadi nama objek sumber. Jika tidak, objek sumber akan ditimpa atau tugas pemrosesan data berjalan dalam loop selama pemrosesan batch. |
|
basename | Nama objek sumber, termasuk ekstensi. Penting Jangan atur nama objek yang diproses menjadi nama objek sumber. Jika tidak, objek sumber akan ditimpa atau tugas pemrosesan data berjalan dalam loop selama pemrosesan batch. |
|
ext | Ekstensi objek sumber, yang secara otomatis diperoleh berdasarkan Multipurpose Internet |
|
year | Tahun ketika objek sumber diunggah. Format: yyyy. |
|
mon | Bulan ketika objek sumber diunggah. Format: mm. |
|
day | Hari ketika objek sumber diunggah. Format: dd. |
|
hour | Jam ketika objek sumber diunggah. Format: HH. |
|
min | Menit ketika objek sumber diunggah. Format: MM. |
|
sec | Detik ketika objek sumber diunggah. Format: SS. |
|
Variabel terkait konversi dokumen
Anda dapat menggunakan nomor halaman dan nama lembar sebagai variabel dalam tugas konversi dokumen. Sebagai contoh, untuk mengonversi objek Excel yang berisi satu lembar bernama sheet1 menjadi gambar JPG, Anda dapat menggunakan variabel dalam tabel berikut dalam jalur keluaran gambar JPG.
Variabel | Deskripsi | Contoh |
autoext | Ekstensi objek yang diproses. |
|
index | Indeks yang menentukan urutan konten dalam objek sumber. Nomor baris dimulai dari 1. Untuk objek Word, PDF, dan PPT, variabel tersebut adalah nomor halaman. Untuk objek Excel, parameter tersebut adalah sheetindex_sheetsubindex. | Untuk Word, PDF, PPT: Untuk Excel: |
sheetname | Nama lembar dalam objek Excel. |
|
sheetindex | Indeks lembar dalam objek Excel. Nilai minimum: 1. |
|
sheetsubindex | Subindeks lembar dalam objek Excel. Nilai minimum: 1. |
|
Variabel terkait pemrosesan media
Item seperti ekstensi wadah dan resolusi dapat digunakan sebagai variabel untuk pemrosesan media. Sebagai contoh, untuk melakukan transkoding multipart pada video bernama video.mp4 untuk mendapatkan video ts yang diproses dengan resolusi 1920 x 1080, Anda dapat menggunakan variabel dalam tabel berikut dalam jalur keluaran video yang diproses.
Variabel | Deskripsi | Contoh |
autoext | Ekstensi objek yang diproses untuk pemrosesan media. |
|
index | Indeks yang menentukan urutan konten dalam objek sumber. Nomor baris dimulai dari 1. Variabel ini digunakan untuk transkoding multipart dan menangkap snapshot. |
|
streamindex | ID aliran audio dan video. Nilai minimum: 0. |
|
resolution | Resolusi objek yang diproses. Variabel ini hanya tersedia untuk video. |
|
Gunakan API OSS
Jika bisnis Anda memerlukan tingkat penyesuaian yang tinggi, Anda dapat langsung memanggil API RESTful. Untuk memanggil API secara langsung, Anda harus menyertakan perhitungan tanda tangan dalam kode Anda.
Anda dapat menentukan parameter pemrosesan atau parameter gaya dalam permintaan PostObject untuk memproses objek sumber. Untuk informasi lebih lanjut, lihat sys/saveas.
Contoh 1: Konversi dokumen
Dalam contoh berikut, parameter pemrosesan ditentukan dalam permintaan PostObject untuk mengonversi format objek example.docx. Opsi b dan o dari parameter sys/saveas digunakan sebagai variabel dalam jalur keluaran objek yang diproses.
pages_MS0xMA: Mengonversi halaman 1 hingga halaman 10 dari objek example.docx. MS0xMA adalah nilai Base64-encoding dari 1 hingga 10.
target_png: Mengonversi format objek example.docx menjadi png.
source_docx: Menentukan bahwa jenis objek sumber adalah docx.
sys/saveas: Menyimpan objek yang diproses ke bucket tertentu.
b_e2J1Y2tldH0: Setelah tugas konversi dokumen selesai, objek yang diproses disimpan ke bucket sumber dengan menentukan variabel {bucket}. e2J1Y2tldH0 adalah nilai Base64-encoded dari {bucket}.
o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw: Simpan objek keluaran di direktori doc_images dengan nomor halaman sebagai nama yang ditentukan oleh variabel index (ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw adalah nilai Base64-encoded dari doc_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: OSS qn6q**************:77Dv****************
// Mengonversi halaman 1 hingga halaman 10 dari objek example.docx menjadi objek png dan menyimpan objek png dalam oss://bucket sumber/doc_images/nomor halaman.png.
x-oss-async-process=doc/convert,pages_MS0xMA,target_png,source_docx|sys/saveas,b_e2J1Y2tldH0,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZwContoh 2: Transcoding video
Dalam contoh berikut, beberapa parameter pemrosesan dikonfigurasi untuk mentranskode objek example.avi.
f_mp4: Menetapkan format file keluaran hasil transkode menjadi MP4.
vcodec_h265: Menetapkan format aliran video menjadi H.265.
s_1920x1080: Menetapkan resolusi menjadi 1920 x 1080.
vb_2000000: Menetapkan bitrate video menjadi 2 Mbit/s.
fps_30: Menetapkan laju frame video menjadi 30 fps.
acodec_aac: Menetapkan format pengkodean audio menjadi AAC.
ab_100000: Menetapkan bitrate audio menjadi 100 Kbit/s.
sn_1: Menonaktifkan aliran subtitle.
sys/saveas: Menyimpan objek yang diproses ke bucket tertentu.
b_e2J1Y2tldH0: Setelah tugas transkoding video selesai, objek yang diproses disimpan ke bucket sumber dengan menentukan variabel {bucket}. e2J1Y2tldH0 adalah nilai Base64-encoded dari {bucket}.
o_b3V0cHV0LnthdXRvZXh0fQ: Variabel {autoext} ditentukan untuk secara otomatis menambahkan ekstensi ke objek yang diproses bernama output.mp4. b3V0cHV0LnthdXRvZXh0fQ adalah nilai Base64-encoded dari output.{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: 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_b3V0cHV0LnthdXRvZXh0fQ