全部產品
Search
文件中心

Object Storage Service:Ruby刪除檔案

更新時間:Feb 28, 2024

您可以根據需要刪除單個檔案(Object)、刪除指定的多個檔案、刪除指定首碼的檔案或者刪除指定目錄及目錄下的所有檔案。

警告
  • Object刪除後無法恢複,請謹慎操作。
  • 為避免影響OSS-HDFS服務的正常使用或者引發資料丟失的風險,在開通了OSS-HDFS服務的Bucket中,禁止刪除OSS-HDFS的資料存放區目錄.dlsdata/下的任意Object。

刪除單個檔案

以下代碼用於刪除examplebucket中的exampleobject.txt檔案。

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')            

大量刪除檔案

以下代碼用於刪除指定名稱的多個檔案。

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')
# 填寫需要刪除的多個檔案完整路徑。檔案完整路徑中不能包含Bucket名稱。
objs = ['my-object-1', 'my-object-2']
result = bucket.batch_delete_objects(objs)
# 預設返回刪除成功的檔案。
puts result #['my-object-1', 'my-object-2']

objs = ['my-object-3', 'my-object-4']
result = bucket.batch_delete_objects(objs, :quiet => true)
# 不返回刪除的結果。
puts result #[]            

相關文檔