本文介绍如何将数据流以流式上传的方式上传到存储空间(Bucket)中的文件(Object)。
如果要上传的文件太大,或者一次性上传耗时太长,您可以通过流式上传的方式,一次处理部分内容,直到完成整个文件的上传。
示例代码
以下代码用于流式上传。
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
# 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')
# 填写Bucket名称,例如examplebucket。
bucket = client.get_bucket('examplebuck')
# my-object填写Object完整路径,完整路径中不能包含Bucket名称。
bucket.put_object('my-object') do |stream|
100.times { |i| stream << i.to_s }
end