Untuk mengunggah file secara batch, mempertahankan struktur folder, memastikan integritas file, atau mendistribusikan sumber daya dengan cepat, Anda dapat mengonfigurasi aturan ekstraksi. Saat mengunggah file ZIP ke jalur yang ditentukan di Object Storage Service (OSS), aturan tersebut memicu Function Compute untuk mengekstrak file secara otomatis. Konten yang diekstraksi kemudian disimpan di OSS.
Prasyarat
Layanan Function Compute harus diaktifkan. Anda dapat mengaktifkan Function Compute di halaman produk.
Skenario
Pengunggahan batch: Mengunggah banyak file kecil satu per satu bisa lambat. Anda dapat menggunakan fitur ini untuk mengemasnya menjadi satu file ZIP untuk pengunggahan yang lebih cepat.
Integritas file: Terkadang beberapa file membentuk satu sumber daya. Mengunggahnya secara terpisah berisiko transfer tidak lengkap. Mengemasnya dalam file ZIP memastikan semua bagian tiba bersamaan, meningkatkan tingkat keberhasilan.
Struktur folder tertentu: Situs web sering menggunakan struktur folder kompleks untuk sumber daya statis. Membuat folder ini secara manual di OSS bisa lambat. Sebagai gantinya, Anda dapat membuat struktur yang diinginkan secara lokal, mengemasnya menjadi file ZIP, dan mengunggahnya. Fitur ekstraksi mereplikasi struktur tersebut di OSS.
Distribusi sumber daya: Untuk mendistribusikan banyak file kepada pengguna atau server, Anda dapat mengemasnya menjadi file ZIP. Unggah dan ekstrak file tersebut di direktori OSS yang ditentukan. Metode ini menghemat waktu transfer dan bandwidth.
Cara kerjanya
Ekstraksi paket ZIP menggunakan Function Compute untuk mengekstrak file ZIP. Proses ekstraksi ditunjukkan dalam Bagan alir berikut.
File ZIP diunggah ke direktori dengan awalan yang ditentukan dalam aturan ekstraksi.
Function Compute dipicu secara otomatis.
Saat mengonfigurasi aturan, Anda harus memberikan izin pemicu. Ini memungkinkan OSS menggunakan peran `AliyunOSSEventNotificationRole` untuk memanggil Function Compute. Proses otorisasi secara otomatis memberikan peran ini kebijakan akses yang diperlukan.
Function Compute mengekstrak file ZIP dan menyimpan file yang diekstraksi di direktori yang ditentukan di OSS.
Anda juga harus memberikan otorisasi layanan ke Function Compute. Ini membuat peran baru yang digunakan Function Compute untuk mengakses paket ZIP dari OSS dan menulis file yang diekstraksi ke bucket OSS. Peran ini secara otomatis diberikan izin baca dan tulis yang diperlukan untuk bucket tersebut.
Penagihan
Fitur ekstraksi paket ZIP adalah layanan bernilai tambah yang menghasilkan biaya untuk OSS dan Function Compute. Data ditransfer antara bucket OSS dan Function Compute menggunakan endpoint wilayah internal bucket, tanpa biaya lalu lintas.
OSS: Biaya dikenakan untuk jumlah permintaan ke sumber daya bucket dan untuk penyimpanan. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan OSS.
Function Compute: Biaya dikenakan untuk penggunaan vCPU, penggunaan memori, dan penggunaan disk, dibebankan berdasarkan waktu eksekusi. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan FC.
Sebagai contoh, tugas ekstraksi paket ZIP yang berjalan selama 5 menit menggunakan vCPU 2-core, 3 GB memori, dan disk penyimpanan sementara default 10 GB. Biaya dihitung sebagai berikut:
Penggunaan Sumber Daya
Unit
Deskripsi
Contoh Penagihan
Penggunaan vCPU
vCPU-detik
Penggunaan vCPU aktif = spesifikasi vCPU × Waktu eksekusi (detik)
Fungsi dikonfigurasi dengan vCPU 2-core dan berjalan selama 300 detik. Penggunaan vCPU untuk run ini adalah 2 × 300 = 600 vCPU-detik.
Penggunaan Memori
GB-detik
Penggunaan memori = Spesifikasi memori × Waktu eksekusi (detik)
Fungsi dikonfigurasi dengan memori 3 GB dan berjalan selama 300 detik. Penggunaan memori untuk run ini adalah 3 × 300 = 900 GB-detik.
Penggunaan Disk
GB-detik
Penggunaan disk = Spesifikasi disk × Waktu eksekusi (detik)
Catatan: Penggunaan disk di bawah 512 MB gratis.
Fungsi dikonfigurasi dengan disk sementara 10 GB dan berjalan selama 300 detik. Penggunaan disk untuk run ini adalah (10 - 512/1024) × 300 = 2.850 GB-detik.
Batasan
Kelas penyimpanan: File kelas Penyimpanan Arsip Dingin harus dipulihkan sebelum dapat diekstraksi. Untuk file dalam kelas Penyimpanan Arsip, jika akses real-time ke objek Arsip tidak diaktifkan untuk bucket, file-file tersebut juga harus dipulihkan sebelum ekstraksi.
Penamaan file dan folder: Gunakan pengkodean UTF-8 atau GB 2312 untuk nama file dan folder. Pengkodean lain dapat menyebabkan nama yang rusak atau mengganggu proses ekstraksi.
Paket ZIP: Ukuran maksimum file tunggal dalam paket ZIP adalah 1 GB. Waktu ekstraksi maksimum default untuk satu paket adalah 2 jam. Jika tugas memakan waktu lebih dari 2 jam, Anda dapat menyesuaikan durasi eksekusi maksimum fungsi. Untuk informasi lebih lanjut, lihat Ekstraksi file besar gagal karena tugas memakan waktu lebih dari 2 jam.
Konfigurasikan aturan ekstraksi paket ZIP
Masuk ke Konsol OSS.
Di panel navigasi di sebelah kiri, klik Buckets. Di halaman Buckets, temukan dan klik bucket yang diinginkan.
Di panel navigasi di sebelah kiri, pilih .
Klik Decompress ZIP Package. Di panel Decompress ZIP Package, konfigurasikan aturan ekstraksi.
Parameter
Parameter
Diperlukan
Deskripsi
Service Authorization
Ya
Memberikan izin Function Compute untuk membaca dan menulis ke OSS serta menjalankan fungsi.
Klik Authorize dan ikuti petunjuk di layar untuk menyelesaikan otorisasi.
Trigger Authorization
Ya
Memberikan OSS izin untuk mengakses Function Compute.
Klik Authorize dan ikuti petunjuk di layar. Jika otorisasi sudah selesai, parameter ini akan ditampilkan sebagai Trigger Role.
Prefix
Tidak
Awalan file yang memicu Function Compute. Saat Anda mengunggah file ZIP dengan awalan ini atau ke direktori dengan awalan ini, Function Compute dipicu. Jika Anda membiarkannya kosong, semua file ZIP yang diunggah akan memicu fungsi tersebut.
PentingMeninggalkan parameter ini kosong dapat menyebabkan eksekusi loop. Untuk informasi lebih lanjut, lihat Bagaimana cara mencegah eksekusi loop?.
Destination Directory
Tidak
Direktori tempat file yang diekstraksi disimpan. Jika Anda membiarkannya kosong, Function Compute mengekstrak file ZIP ke direktori root bucket saat ini.
Jika Anda ingin mempertahankan nama file ZIP sebagai direktori di jalur tujuan, pilih Keep Compressed Filename As A Path Directory.
Jika Anda ingin mengekstrak file langsung ke direktori tujuan tanpa mempertahankan nama file ZIP, pilih Decompress Directly To The Destination Directory. Untuk detail konfigurasi, lihat contoh konfigurasi berikut.
PeringatanUntuk menjaga ketersediaan OSS-HDFS dan mencegah kontaminasi data, jangan atur Destination Directory ke
.dlsdata/saat Anda mengonfigurasi aturan ekstraksi paket ZIP untuk bucket yang memiliki OSS-HDFS diaktifkan.Contoh konfigurasi
Skenario
Konfigurasi
Struktur file yang diekstraksi
Semua paket ZIP yang diunggah ke direktori zipfolder diekstraksi ke direktori destfolder. Nama paket ZIP tidak dipertahankan.
Atur Prefix ke zipfolder/.
Atur Destination Directory ke destfolder.
Pilih Decompress Directly To The Destination Directory.
bucket ├─── zipfolder/ │ ├─── a.zip│ └─── b.zip└─── destfolder/ ├─── a.txt ├─── b.txt └─── ...Semua paket ZIP yang diunggah ke direktori zipfolder diekstraksi ke direktori root. Nama paket ZIP dipertahankan.
Konfigurasikan parameter berikut:
Atur Prefix ke zipfolder/.
Biarkan Destination Directory kosong.
Pilih Keep Compressed Filename As A Path Directory.
bucket ├─── zipfolder/ │ ├─── a.zip│ └─── b.zip├─── a/│ ├─── a.txt│ └─── ...└─── b/ ├─── b.txt └─── ...Semua paket ZIP yang diunggah ke direktori zipfolder diekstraksi ke direktori destfolder. Nama paket ZIP dipertahankan.
Konfigurasikan parameter berikut:
Atur Prefix ke zipfolder/.
Atur Destination Directory ke destfolder.
Pilih Keep Compressed Filename As A Path Directory.
bucket ├─── zipfolder/ │ ├─── a.zip│ └─── b.zip└─── destfolder/ ├─── a/ │ ├─── a.txt │ └─── ... └─── b/ ├─── b.txt └─── ...Pilih kotak centang untuk menyetujui aktivasi Function Compute, lalu klik OK.
Modifikasi konfigurasi ekstraksi paket ZIP
Anda dapat memodifikasi konfigurasi ekstraksi paket ZIP sesuai kebutuhan.
Modifikasi awalan file yang memicu Function Compute
Di halaman Decompress ZIP Package di Konsol OSS, klik Edit di sebelah kanan pemicu target.
Di halaman detail fungsi yang muncul, buka tab Trigger Management dan klik Edit di sebelah kanan pemicu target.
Di kotak dialog Edit Trigger, modifikasi File Prefix dan pertahankan pengaturan default untuk parameter lainnya.
Klik OK.
Modifikasi konfigurasi Function Compute
Di halaman detail fungsi di Konsol Function Compute, buka tab Function Configuration dan klik Edit.
Modifikasi pengaturan Function Compute sesuai kebutuhan, seperti memori eksekusi fungsi dan batas waktu eksekusi.
Untuk informasi lebih lanjut, lihat Kelola fungsi.
Hapus pemicu
Setelah pemicu dihapus, pemicu tersebut tidak dapat dipulihkan dan tidak dapat lagi digunakan untuk memicu fungsi. Tugas yang sedang berlangsung akan tetap berjalan.
Di halaman detail fungsi, buka tab Trigger Management dan klik Delete di sebelah kanan pemicu target.
Di kotak dialog yang muncul, klik Delete.
