本文介紹如何快速使用OSS Ruby SDK完成常見操作,例如建立儲存空間(Bucket)、上傳檔案(Object)、下載檔案等。
建立儲存空間
儲存空間是OSS的全域命名空間,相當於資料的容器,可以儲存若干檔案。
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。
client.create_bucket('examplebucket')
上傳檔案
以下代碼用於將本地檔案examplefile.txt上傳到目標儲存空間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')
# 上傳檔案。
bucket.put_object('exampleobject.txt', :file => 'D:\\localpath\\examplefile.txt')
下載檔案
以下代碼用於將examplebucket中的exampleobject.txt檔案下載到本地D:\localpath路徑下的examplefile.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下載至本地。
bucket.get_object('exampleobject.txt', :file => 'D:\\localpath\\examplefile.txt')
列舉檔案
以下代碼用於列舉examplebucket儲存空間下的檔案。預設列舉100個檔案。
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# 填寫Bucket所在地區對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
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')
# 列舉所有檔案。
objects = bucket.list_objects
objects.each { |o| puts o.key }
刪除檔案
以下代碼用於刪除指定檔案。
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# 填寫Bucket所在地區對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
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')
# 填寫檔案完整路徑,例如exampledir/exampleobject.txt。文檔完整路徑中不能包含Bucket名稱。
bucket.delete_object('exampledir/exampleobject.txt')
相關文檔
關於建立儲存空間的API介面說明,請參見PutBucket。
關於上傳檔案的API介面說明,請參見PutObject。
關於下載檔案的API介面說明,請參見GetObject。
關於列舉檔案的API介面說明,請參見GetBucket (ListObjects)。
關於刪除檔案的API介面說明,請參見DeleteObject。