您可以根据需要删除单个文件(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 #[]
相关文档
关于删除单个文件的API接口说明,请参见DeleteObject。
关于删除多个文件的API接口说明,请参见DeleteMultipleObjects。