Object Storage Service (OSS) terintegrasi dengan Function Compute, memungkinkan Anda membangun berbagai aplikasi dan fungsi. Topik ini menjelaskan cara menggunakan Function Compute untuk mengemas beberapa objek OSS ke dalam satu file ZIP guna diunduh ke lokal.
Prasyarat
-
Function Compute telah diaktifkan.
Anda dapat mengaktifkan Function Compute di halaman detail produk Function Compute.
-
Anda harus memberikan izin kepada Function Compute untuk mengakses OSS.
Untuk informasi selengkapnya, lihat Berikan izin Function Compute untuk mengakses layanan Alibaba Cloud lainnya.
-
Bucket dan fungsi aplikasi harus berada di wilayah yang sama.
-
Anda harus mengunggah beberapa objek ke direktori tertentu dalam bucket. Tutorial ini menggunakan direktori
dir/di bucketexamplebucketdi wilayah Tiongkok (Hangzhou) sebagai contoh. Untuk informasi selengkapnya, lihat Unggahan sederhana. -
Anda harus membuat peran RAM untuk layanan Function Compute dan mencatat ARN-nya. Untuk informasi selengkapnya, lihat Buat peran RAM untuk akun Alibaba Cloud tepercaya.
Cara kerja
Mengunduh banyak objek dari OSS sekaligus—terutama jika jumlahnya banyak dan ukurannya kecil—bisa lambat dan tidak praktis. Dengan menggunakan Function Compute, Anda dapat mengemas objek-objek tersebut di OSS terlebih dahulu, mengunduh paket terkompresi ke komputer lokal, lalu mengekstraknya. Metode ini memungkinkan pengunduhan massal yang lebih cepat. Alur kerja penggunaan Function Compute untuk mengemas dan mengunduh objek OSS ditunjukkan pada gambar berikut.
-
Pengguna memanggil fungsi dan menentukan bucket serta objek yang akan dikompresi.
-
Function Compute mengunduh objek yang ditentukan dari OSS dan menghasilkan paket ZIP dengan nama acak.
-
Function Compute mengunggah paket ZIP ke OSS.
-
Function Compute mengembalikan URL unduhan paket ZIP kepada pengguna.
-
Pengguna mengunduh file dari OSS menggunakan URL unduhan permanen yang dikembalikan.
Catatan penggunaan
-
Ruang disk di lingkungan runtime fungsi terbatas. Oleh karena itu, fungsi melakukan streaming data baik saat mengunduh maupun mengunggah agar hanya menyimpan sedikit data di cache memori.
-
Untuk mempercepat proses, Function Compute mengunggah file ZIP ke OSS secara bersamaan saat file tersebut sedang dibuat.
-
Saat mengunggah file ZIP ke OSS, fungsi menggunakan fitur multipart upload OSS untuk mengunggah bagian-bagian secara konkuren melalui beberapa thread.
-
Waktu pemrosesan maksimum untuk mengompresi file menggunakan Function Compute adalah 24 jam. (Data uji: 57 objek dengan ukuran total 1,06 GB diproses dalam 63 detik).
Prosedur
Contoh ini menjelaskan cara menggunakan Function Compute untuk mengemas dan mengunduh beberapa objek dari direktori dir/ di bucket examplebucket di wilayah Tiongkok (Hangzhou) ke komputer lokal.
-
Terapkan aplikasi dan peroleh nama domain publiknya.
One-click dengan ROS
Gunakan Resource Orchestration Service (ROS) untuk menerapkan aplikasi Function Compute dalam satu klik.
-
Pada tab Configure Parameters, pertahankan pengaturan default untuk semua parameter dan klik Next: Check and Confirm.
-
Pada tab Check and Confirm, klik Create.
Status pada tab Stack Information menampilkan Creating.
-
Ketika Status stack berubah menjadi Create_Success, klik tab Outputs untuk menemukan nama domain publik.
One-click dengan Serverless Application Center
-
Terapkan templat aplikasi start-zip-oss dari Serverless Application Center.
Untuk jenis penerapan, pilih Directly Deploy. Pastikan templat aplikasi dan bucket berada di wilayah yang sama. Pertahankan pengaturan default untuk opsi lainnya. Konfigurasi ditunjukkan pada gambar berikut.

-
Peroleh nama domain publik.
-
Klik tab Result.
-
Di bidang triggers, peroleh nama domain publik (urlInternet).

-
Manual dengan Serverless Devs CLI
-
Instal Serverless Devs.
npm install -g @serverless-devs/sVerifikasi instalasi.
s -vOutput berikut menunjukkan instalasi berhasil:
@serverless-devs/s: 2.1.1, s-home: /root/.s, linux-x64, node-v14.19.3 -
Konfigurasikan Serverless Devs.
s config add --AccessKeyID LTAI******** --AccessKeySecret KZo1******** --access fc-accessTabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
--AccessKeyID
ID AccessKey untuk mengakses Function Compute.
--AccessKeySecret
Rahasia AccessKey untuk mengakses Function Compute.
--access
Alias kustom untuk kredensial.
-
Terapkan templat aplikasi start-zip-oss.
-
Inisialisasi proyek.
-
Tentukan nilai untuk item konfigurasi berdasarkan contoh berikut.
-
Masuk ke direktori proyek.
-
Terapkan proyek.
-
Catat
system_urldari output.
s init start-zip-oss -d start-zip-ossParameter
Contoh
Wilayah tempat aplikasi berada
cn-hangzhou
Layanan Function Compute tempat aplikasi berada
start-zip-oss
Nama fungsi aplikasi
zip-oss-func
ARN peran RAM yang dikonfigurasi untuk layanan Function Compute tempat aplikasi berada
acs:ram::137918634953****:role/test-role
cd start-zip-osss deploy -yfc-zip-oss-service: region: cn-hangzhou service: name: start-zip-oss function: name: zip-oss-func runtime: python2.7 handler: main.main_handler memorySize: 3072 timeout: 1800 url: system_url: https://zip-oss-func-start-zip-oss-ayouye****.cn-hangzhou.fcapp.run triggers: - type: http name: http-test -
-
Di server atau instance ECS Anda, jalankan perintah berikut untuk membuat file
event.json. Di dalam file tersebut, tentukan nama bucket dan direktori yang berisi objek yang akan diunduh.cat <<EOF > event.json { "bucket": "examplebucket", "source-dir": "dir/" } EOFCatatanParameter
source-dirharus berupa direktori di dalam bucket; direktori root tidak didukung. -
Berikut ini adalah contoh permintaan.
curl -v -L -o oss.zip -d @./event.json https://zip-oss-func-zip-oss-ayouye****.cn-hangzhou.fcapp.run-
oss.zip: Jalur lokal tempat paket ZIP yang diunduh disimpan.CatatanJika alat dekompresi bawaan Windows gagal, gunakan alat pihak ketiga seperti 7-Zip atau WinRAR.
-
https://zip-oss-func-zip-oss-ayouye****.cn-hangzhou.fcapp.run:system_urlyang dikembalikan saat Anda menerapkan proyek.
Untuk memanggil fungsi HTTP ini secara terautentikasi (bukan anonim), gunakan salah satu SDK berikut:
-
FAQ
Menambahkan watermark
URL unduhan berbatas waktu
Referensi
-
Untuk informasi selengkapnya tentang fitur dan penagihan Function Compute, lihat Apa itu Function Compute? dan Ikhtisar penagihan.
-
Untuk templat dan aplikasi contoh yang menunjukkan integrasi Function Compute dan OSS, lihat Kode contoh.
-
Untuk contoh lain penggunaan Function Compute dengan OSS, lihat Gunakan Function Compute untuk secara otomatis mengekstrak file ZIP di OSS.