このトピックでは、単一のオブジェクト、指定された複数のオブジェクト、特定の名前プレフィックスを持つオブジェクト、またはディレクトリとその中のすべてのオブジェクトを削除する方法について説明します。
警告
- オブジェクトは削除後に復元できません。この操作を実行する際はご注意ください。
OSS-HDFS の安定性を維持し、データ損失を防ぐために、
.dlsdata/ディレクトリからオブジェクトを削除しないでください。
単一ファイルの削除
次のコードは、examplebucket バケットから exampleobject.txt オブジェクトを削除する方法を示しています。
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# バケットが配置されているリージョンのエンドポイントを設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを 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']
)
# バケット名を設定します。例: examplebucket。
bucket = client.get_bucket('examplebucket')
# オブジェクトの完全なパスを設定します。例: exampledir/exampleobject.txt。完全なパスにバケット名を含めることはできません。
bucket.delete_object('exampledir/exampleobject.txt') ファイルのバッチ削除
次のコードは、指定された名前を持つ複数のオブジェクトを削除する方法を示しています。
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# バケットが配置されているリージョンのエンドポイントを設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを 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']
)
# バケット名を設定します。例: 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 #[] 関連ドキュメント
単一オブジェクトの削除の詳細については、「DeleteObject」API 操作をご参照ください。
複数オブジェクトの削除の詳細については、「DeleteMultipleObjects」API 操作をご参照ください。