Untuk secara otomatis mengekstrak file terkompresi yang diunggah ke Object Storage Service (OSS), Anda dapat menerapkan aplikasi dengan satu klik dari Function Compute Application Center. Ketika file ZIP yang sesuai dengan aturan ekstraksi diunggah ke Object Storage Service, fungsi Function Compute akan dipicu secara otomatis untuk mengekstrak file tersebut. Setelah diekstrak, Function Compute mengunggah hasil ekstraksi ke direktori yang ditentukan di Object Storage Service.
Informasi latar belakang
Bagan alir berikut menunjukkan prosesnya.
Catatan
Gunakan encoding UTF-8 atau GB 2312 untuk nama file dan folder agar teks tidak rusak dan proses ekstraksi tidak terganggu.
Saat mengunggah file terkompresi ke bucket, jangan memilih Archive Storage atau Cold Archive sebagai kelas penyimpanan. Jika tidak, fungsi tidak akan dipicu.
Ukuran satu file dalam arsip terkompresi yang diunggah ke bucket tidak boleh melebihi 1 GB. Jika ukurannya lebih besar dari 1 GB, proses ekstraksi mungkin gagal.
Waktu maksimum ekstraksi untuk satu arsip adalah 2 jam. Tugas akan gagal jika melebihi batas waktu ini.
Timeout eksekusi fungsi default adalah 2 jam. Anda dapat menyesuaikan periode timeout eksekusi fungsi sesuai kebutuhan.
Prasyarat
Function Compute telah diaktifkan. Untuk informasi selengkapnya, lihat Activate Function Compute.
Object Storage Service (OSS) telah diaktifkan dan bucket telah dibuat. Untuk informasi selengkapnya, lihat Create a bucket.
Prosedur
Masuk ke Function Compute console. Di panel navigasi sebelah kiri, klik Applications.
-
Di halaman Applications, klik Create Application. Pada halaman Create Application, pilih metode pembuatan.
Dokumen ini menggunakan Use a Template to Create an Application sebagai contoh.
-
Di halaman Create Application, pada bagian templat, cari kartu Auto-decompress ZIP Files Uploaded To OSS. Arahkan pointer ke kartu tersebut lalu klik Create Now.
-
Di halaman Create Application, konfigurasikan parameter berikut lalu klik Create and Deploy Default Environment.
Tabel berikut menjelaskan item konfigurasi utama. Anda dapat menggunakan nilai default untuk item lainnya.
Configuration Item
Description
Basic Configurations
Deployment Type
Pilih Directly Deploy.
Role Name
Peran default adalah AliyunFCServerlessDevsRole. Jika izin saat ini tidak mencukupi, klik Add Policy, pilih kebijakan yang diperlukan di kotak dialog lalu klik Add.
Advanced Settings
RAM role ARN
Pilih peran yang digunakan OSS untuk memicu fungsi. Pastikan kebijakan akses AliyunOSSFullAccess dan AliyunFCDefaultRolePolicy telah disambungkan ke peran ini.
OSS bucket name
Pilih bucket yang telah dibuat.
Prefix
Tetapkan awalan file. Nilai default-nya adalah src.
PentingPastikan awalan untuk pemicu berbeda dalam bucket yang sama bersifat unik. Jika tidak, aplikasi gagal dibuat.
Destination directory
Tetapkan direktori tujuan untuk file hasil ekstraksi. Nilai default-nya adalah dst.
CatatanUntuk mencegah fungsi dipicu secara berulang, tetapkan direktori ini ke path yang berbeda dari yang ditentukan untuk Prefix.
Keep archive name as directory
Menentukan apakah nama file terkompresi dipertahankan sebagai direktori dalam path. Nilai yang valid:
-
true: Membuat subdirektori. Misalnya, jika Destination Directory adalah target dan arsip bernama source.zip, file hasil ekstraksi disimpan di target/source/....
false: Mengekstrak file langsung ke direktori tujuan. Dalam contoh sebelumnya, path file hasil ekstraksi adalah target/....
Trigger RAM role ARN
Peran default adalah AliyunOSSEventNotificationRole. OSS menggunakan peran ini untuk mengirim notifikasi event guna memanggil fungsi.
-
-
Uji aplikasi.
Masuk ke Object Storage Service (OSS) console lalu klik bucket yang Anda pilih saat membuat aplikasi.
-
Di bucket yang dipilih, unggah file .zip ke path yang dimulai dengan Prefix yang dikonfigurasi. Hal ini akan memicu fungsi untuk secara otomatis mengekstrak file dan menyimpan isinya ke Destination Directory yang ditentukan.
Misalnya, jika Anda menetapkan Prefix ke source dan Destination Directory ke target, mengunggah file .zip ke path seperti source/data.zip atau source1/test.zip akan memicu fungsi. File hasil ekstraksi kemudian disimpan ke direktori target.
Referensi
Aplikasi penerapan satu klik yang dijelaskan dalam dokumen ini hanya mendukung ekstraksi file ZIP. Untuk mengekstrak file dalam format lain, lihat decompress-oss.
Jika Anda hanya perlu mengekstrak file ZIP yang diunggah ke OSS, Anda dapat mengonfigurasi ekstraksi otomatis file ZIP langsung di OSS. Untuk informasi selengkapnya, lihat Upload and automatically decompress a ZIP package.
Untuk memaketkan dan mengunduh file dari OSS menggunakan Function Compute, lihat Memaketkan beberapa file ke dalam arsip ZIP untuk diunduh.