全部产品
Search
文档中心

Object Storage Service:Unduh beberapa objek sebagai paket

更新时间:Jul 29, 2025

Object Storage Service (OSS) mendukung Function Compute. Anda dapat menggunakan Function Compute untuk membangun aplikasi dan fungsi dari berbagai jenis. Topik ini menjelaskan cara menggunakan Function Compute untuk mengekstrak beberapa objek menjadi paket dan mengunduhnya dari OSS ke komputer lokal.

Prasyarat

Solusi

Mengunduh beberapa objek dari OSS sekaligus dapat menyebabkan ketidaknyamanan dalam beberapa kasus khusus. Misalnya, kecepatan unduh lambat saat Anda mengunduh sejumlah besar objek kecil sekaligus. Untuk meningkatkan pengalaman Anda dalam mengunduh sejumlah besar objek sekaligus, Anda dapat menggunakan Function Compute untuk mengekstrak objek menjadi paket, mengunduh paket ke komputer lokal Anda, lalu mengekstrak paket tersebut. Gambar berikut menunjukkan cara menggunakan Function Compute untuk mengekstrak objek menjadi paket dan mengunduh paket.压缩OSS文件

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

  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 yang digunakan untuk mengunduh paket ZIP kepada pengguna.

  5. Pengguna mengunduh paket ZIP dari OSS menggunakan URL, yang tetap valid untuk jangka waktu panjang.

Catatan Penggunaan

  • Unduhan streaming dan unggahan streaming digunakan untuk mentransfer paket ZIP karena ruang disk terbatas untuk menjalankan fungsi. Hanya sejumlah kecil data yang disimpan dalam memori.

  • Untuk mempercepat transfer paket ZIP, Function Compute menghasilkan paket ZIP dan mengunggah paket tersebut ke OSS secara bersamaan.

  • Unggahan multipart digunakan untuk mengunggah paket ZIP dalam bagian-bagian paralel ke OSS.

  • Function Compute memerlukan waktu hingga 24 jam untuk memampatkan objek menjadi sebuah paket. Berdasarkan data uji, Function Compute membutuhkan sekitar 63 detik untuk memampatkan 57 objek dengan total ukuran 1,06 GB menjadi sebuah paket.

Prosedur

Dalam contoh ini, Function Compute digunakan untuk mengunduh beberapa objek di direktori dir/ dari bucket examplebucket di wilayah China (Hangzhou) ke komputer lokal Anda.

  1. Sebarkan aplikasi dan dapatkan nama domain publiknya.

    Gunakan ROS untuk menyebarkan aplikasi

    Lakukan langkah-langkah berikut untuk menggunakan Resource Orchestration Service (ROS) untuk menyebarkan aplikasi Function Compute dan mendapatkan nama domain publiknya:

    1. Gunakan wizard Create Stack di konsol ROS.

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

    3. Pada langkah Check and Confirm, klik Create.

      Pada tab Stack Information di halaman yang muncul, status stack ditampilkan sebagai Creating.

    4. Setelah stack masuk ke status Created, klik tab Outputs untuk melihat domain publik.

    Gunakan Serverless Application Center untuk menyebarkan aplikasi

    1. Pergi ke Serverless Application Center untuk menyebarkan template aplikasi start-zip-oss.

      Pilih Directly Deploy untuk Jenis Penyebaran. Pilih wilayah bucket untuk template aplikasi. Pertahankan pengaturan default untuk parameter lainnya dan klik Buat dan Sebarkan Lingkungan Default. Gambar berikut menunjukkan detail konfigurasi.1

    2. Dapatkan nama domain publik.

      1. Di panel Versi Penyebaran halaman yang muncul, klik tab Result.

      2. Di bidang pemicu, dapatkan nama domain publik dari parameter urlInternet.

        2

    Gunakan Serverless Devs untuk menyebarkan aplikasi

    1. Instal Serverless Devs.

      curl -o- -L http://cli.so/install.sh | bash

      Periksa apakah Serverless Devs telah diinstal.

      s -v

      Keluaran berikut dikembalikan jika Serverless Devs telah diinstal:

      @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 dalam perintah sebelumnya.

      Parameter

      Deskripsi

      --AccessKeyID

      ID AccessKey yang digunakan untuk mengakses Function Compute.

      --AccessKeySecret

      Rahasia AccessKey yang digunakan untuk mengakses Function Compute.

      --Access

      Alias kunci kustom.

    3. Sebarkan template aplikasi start-zip-oss.

      1. Inisialisasi proyek.

      2. s init start-zip-oss -d start-zip-oss
      3. Tabel berikut menjelaskan konfigurasi sampel untuk template aplikasi start-zip-oss.

      4. Item konfigurasi

        Contoh

        ID wilayah tempat Anda ingin menyebarkan aplikasi

        cn-hangzhou

        Layanan tempat aplikasi milik di Function Compute

        start-zip-oss

        Nama fungsi aplikasi

        zip-oss-func

        ARN Peran RAM yang dibuat untuk layanan tempat aplikasi milik di Function Compute

        acs:ram::137918634953****:role/test-role

      5. Mulai proyek.

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

      8. s deploy -y
      9. Catat nilai yang dikembalikan oleh system_url.

      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. Jalankan perintah berikut untuk menghasilkan file event.json dan tentukan nama bucket dan direktori tempat objek yang ingin Anda unduh disimpan:

    cat <<EOF > event.json
    {
      "bucket": "examplebucket",
      "source-dir": "dir/"
    }
    EOF
    Catatan

    Anda harus menyetel source-dir ke direktori selain direktori root bucket.

  3. Jalankan perintah berikut untuk memicu fungsi:

    curl -v -L -o  oss.zip -d @./event.json https://zip-oss-func-zip-oss-ayouye****.cn-hangzhou.fcapp.run
    • /test/oss.zip: jalur lokal yang digunakan untuk menyimpan objek di direktori dir/.

      Catatan

      Gunakan alat dekompresi pihak ketiga (seperti 7-Zip atau WinRAR) jika alat dekompresi bawaan Windows gagal.

    • https://zip-oss-func-zip-oss-ayouye****.cn-hangzhou.fcapp.run: nilai system_url yang dikembalikan saat proyek disebarkan.

    Jika Anda ingin mengubah fungsi HTTP anonim non-otentikasi dalam contoh sebelumnya menjadi fungsi HTTP otentikasi, Anda dapat menggunakan salah satu SDK OSS berikut:

FAQ

Bisakah saya menambahkan watermark ke objek saat saya menggunakan Function Compute untuk mengekstrak objek menjadi paket dan mengunduh paket?

Tidak, Anda tidak dapat menambahkan watermark ke objek saat Anda menggunakan Function Compute untuk mengekstrak objek menjadi paket dan mengunduh paket. Namun, sebelum Anda menggunakan Function Compute untuk mengekstrak objek menjadi paket dan mengunduh paket, Anda dapat menggunakan salah satu metode berikut untuk menambahkan watermark teks atau gambar ke objek di OSS:

  • Objek yang daftar kontrol akses (ACL)-nya adalah public-read atau public-read-write

    Tambahkan parameter watermark ke URL objek. Untuk informasi lebih lanjut, lihat Tambahkan Watermark.

  • Objek yang ACL-nya adalah private

    Konfigurasikan parameter pemrosesan gambar (IMG) atau parameter gaya gambar menggunakan SDK OSS. Untuk informasi lebih lanjut, lihat Gunakan SDK OSS untuk Memproses Gambar.

Bisakah Function Compute menghasilkan URL unduhan yang memiliki periode validitas saat saya menggunakan Function Compute untuk mengunduh beberapa objek sebagai paket?

Tidak, Function Compute tidak dapat menghasilkan URL unduhan yang memiliki periode validitas. Jika Anda ingin URL unduhan memiliki periode validitas, Anda dapat menyertakan parameter Expires dalam URL yang dihasilkan. Untuk informasi lebih lanjut, lihat Gunakan URL Objek.

Referensi

  • Untuk informasi lebih lanjut tentang pengenalan dan aturan penagihan Function Compute, lihat Pengenalan Produk dan Penagihan.

  • Untuk informasi lebih lanjut tentang template dan aplikasi saat Anda menggunakan Function Compute bersama dengan OSS, lihat Kode Sampel.