If a long period of time is required to upload a large object, you can use stream upload to upload the object streams continuously until the entire object is uploaded.
Examples
The following code provides an example on how to use stream upload to upload an object:
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# This example uses the China (Hangzhou) endpoint. Replace it with the endpoint for your region.
endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
# Obtain access credentials from environment variables. Before you run this sample code, configure the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables.
access_key_id: ENV['OSS_ACCESS_KEY_ID'],
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Specify the bucket name. For example, examplebucket.
bucket = client.get_bucket('examplebucket')
# Specify the full path of the object. Do not include the bucket name in the full path. For example, exampleobject.txt.
bucket.put_object('exampleobject.txt') do |stream|
100.times { |i| stream << i.to_s }
end