一度に1つ以上のオブジェクトを削除したり、指定されたプレフィックスを名前に含むオブジェクトを削除したり、指定されたディレクトリとそのディレクトリ内のすべてのオブジェクトを削除したりできます。
警告
- オブジェクトは削除後に復元できません。 この操作は慎重に行ってください。
OSS-HDFSの安定性を維持し、データの損失を防ぐために、
からオブジェクトを削除しないでください。dlsdata/
ディレクトリ。
単一のオブジェクトの削除
次のサンプルコードは、examplebucketバケットからexampleobject.txtオブジェクトを削除する方法の例を示しています。
'aliyun/oss 'が必要です
client = Aliyun::OSS::Client.new (
# バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。
エンドポイント: '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 ']
)
# バケットの名前を指定します。 例: examplebucket.
bucket = client.get_bucket('examplebucket')
# オブジェクトのフルパスを指定します。 例: exampledir/exampleobject.txt。 バケット名をフルパスに含めないでください。
bucket.de lete_object('exampledir/exampleobject.txt ')
複数のオブジェクトの削除
次のサンプルコードは、指定した複数のオブジェクトを削除する方法の例を示します。
'aliyun/oss 'が必要です
client = Aliyun::OSS::Client.new (
# バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。
エンドポイント: '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 ']
)
# バケットの名前を指定します。 例: examplebucket.
bucket = client.get_bucket('examplebucket')
# 削除するオブジェクトのフルパスを指定します。 完全なパスにバケット名を含めないでください。
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」をご参照ください。