全部產品
Search
文件中心

Object Storage Service:流式下載(Ruby SDK)

更新時間:Nov 29, 2025

在處理大檔案或逐步處理資料時,您可以通過流式下載從OSS逐塊讀取檔案內容,避免一次性載入整個檔案到記憶體中,從而提高程式的效率和效能。這種方法適合下載超過記憶體限制的檔案、即時處理資料以減少記憶體佔用,以及通過網路分步擷取資料的情境。

範例程式碼

以下代碼用於流式下載examplebucket中的exampleobject.txt檔案。

require 'aliyun/oss'

client = Aliyun::OSS::Client.new(
  # Endpoint以華東1(杭州)為例,其它Region請按實際情況填寫。
  endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
  # 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  access_key_id: ENV['OSS_ACCESS_KEY_ID'],
  access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)

# 填寫Bucket名稱,例如examplebucket。
bucket = client.get_bucket('examplebucket')
# 填寫Object完整路徑。Object完整路徑中不能包含Bucket名稱。
bucket.get_object('exampleobject.txt') do |chunk|  
  puts "Got a chunk, size: #{chunk.size}."
end

相關文檔

關於流式下載的API介面說明,請參見GetObject