Saat menangani file besar atau memproses data secara bertahap, Anda dapat menggunakan unduhan streaming untuk membaca konten file dari OSS dalam bentuk chunk. Pendekatan ini menghindari pemuatan seluruh file ke dalam memori sekaligus, sehingga meningkatkan efisiensi dan kinerja program. Metode ini cocok untuk mengunduh file yang melebihi batas memori, memproses data secara real-time guna mengurangi penggunaan memori, serta mengambil data secara bertahap melalui jaringan.
Kode contoh
Kode berikut melakukan unduhan streaming file exampleobject.txt dari examplebucket.
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# Titik akhir untuk wilayah China (Hangzhou) digunakan sebagai contoh. Gantilah dengan titik akhir yang sebenarnya.
endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan contoh kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
access_key_id: ENV['OSS_ACCESS_KEY_ID'],
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Tentukan nama bucket, misalnya examplebucket.
bucket = client.get_bucket('examplebucket')
# Tentukan path lengkap objek. Path lengkap tidak boleh mencakup nama bucket.
bucket.get_object('exampleobject.txt') do |chunk|
puts "Got a chunk, size: #{chunk.size}."
endReferensi
Untuk informasi selengkapnya mengenai operasi API unduhan streaming, lihat GetObject.