All Products
Search
Document Center

Object Storage Service:Mengemas dan mengunduh objek sebagai file ZIP

Last Updated:May 07, 2026

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

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.压缩OSS文件

  1. Pengguna memanggil fungsi dan menentukan bucket serta objek yang akan dikompresi.

  2. Function Compute mengunduh objek yang ditentukan dari OSS dan menghasilkan paket ZIP dengan nama acak.

  3. Function Compute mengunggah paket ZIP ke OSS.

  4. Function Compute mengembalikan URL unduhan paket ZIP kepada pengguna.

  5. 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.

  1. Terapkan aplikasi dan peroleh nama domain publiknya.

    One-click dengan ROS

    Gunakan Resource Orchestration Service (ROS) untuk menerapkan aplikasi Function Compute dalam satu klik.

    1. Buka tautan templat konfigurasi one-click.

    2. Pada tab Configure Parameters, pertahankan pengaturan default untuk semua parameter dan klik Next: Check and Confirm.

    3. Pada tab Check and Confirm, klik Create.

      Status pada tab Stack Information menampilkan Creating.

    4. Ketika Status stack berubah menjadi Create_Success, klik tab Outputs untuk menemukan nama domain publik.

    One-click dengan Serverless Application Center

    1. 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.1

    2. Peroleh nama domain publik.

      1. Klik tab Result.

      2. Di bidang triggers, peroleh nama domain publik (urlInternet).

        2

    Manual dengan Serverless Devs CLI

    1. Instal Serverless Devs.

      npm install -g @serverless-devs/s

      Verifikasi instalasi.

      s -v

      Output berikut menunjukkan instalasi berhasil:

      @serverless-devs/s: 2.1.1, s-home: /root/.s, linux-x64, node-v14.19.3
    2. Konfigurasikan Serverless Devs.

      s config add --AccessKeyID LTAI******** --AccessKeySecret  KZo1******** --access fc-access

      Tabel 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.

    3. Terapkan templat aplikasi start-zip-oss.

      1. Inisialisasi proyek.

      2. s init start-zip-oss -d start-zip-oss
      3. Tentukan nilai untuk item konfigurasi berdasarkan contoh berikut.

      4. Parameter

        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

      5. Masuk ke direktori proyek.

      6. cd start-zip-oss
      7. Terapkan proyek.

      8. s deploy -y
      9. Catat system_url dari output.

      10. fc-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
  2. 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/"
    }
    EOF
    Catatan

    Parameter source-dir harus berupa direktori di dalam bucket; direktori root tidak didukung.

  3. 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.

      Catatan

      Jika 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_url yang dikembalikan saat Anda menerapkan proyek.

    Untuk memanggil fungsi HTTP ini secara terautentikasi (bukan anonim), gunakan salah satu SDK berikut:

FAQ

Menambahkan watermark

Tidak. Namun, Anda dapat menambahkan watermark teks atau gambar ke objek di OSS dengan metode berikut:

  • Untuk objek dengan izin public-read atau public-read-write

    Tambahkan parameter watermark ke URL objek. Untuk informasi selengkapnya, lihat Watermark gambar.

  • Untuk objek dengan izin privat

    Tambahkan watermark dengan menyertakan parameter pemrosesan gambar atau parameter gaya gambar di SDK. Untuk informasi selengkapnya, lihat Pemrosesan gambar menggunakan SDK.

URL unduhan berbatas waktu

Tidak. Untuk membuat URL dengan waktu kedaluwarsa, Anda harus menghasilkan signed URL yang mencakup parameter Expires. Untuk informasi selengkapnya, lihat Gunakan URL objek.

Referensi