このトピックでは、rm
コマンドを実行して、不要な課金を回避するために不要になったオブジェクト、パーツ、またはバケットを削除する方法について説明します。
使用上の注意
1つのオブジェクトを削除するには、
oss:DeleteObject
権限が必要です。 ディレクトリ内のすべてのオブジェクトを削除するには、oss:DeleteObject
およびoss:ListObjects
権限が必要です。 特定のオブジェクトバージョンを削除するには、oss:DeleteObjectVersion
権限が必要です。 バケット内のすべてのオブジェクトバージョンを削除するには、oss:ListObjectVersions
およびoss:DeleteObjectVersion
権限が必要です。 ディレクトリ内のすべてのオブジェクトバージョンを削除するには、oss:DeleteObjectVersion
およびoss:ListObjects
権限が必要です。 オブジェクトの一部を削除するには、oss:ListMultipartUploads
およびoss:AbortMultipartUpload
権限が必要です。 バケット内のすべてのオブジェクトとパーツを削除するには、oss:ListMultipartUploads
、oss:AbortMultipartUpload
、oss:ListObjects
、およびoss:DeleteObject
権限が必要です。 バケットを削除するには、oss:DeleteBucket
権限が必要です。このトピックでは、64ビットLinuxシステムに基づくサンプルコマンドラインを提供します。 他のシステムのために、取り替えて下さい./ossutil64対応するバイナリ名を持つコマンドで 詳細は、「ossutilコマンドリファレンス」をご参照ください。
コマンド構文
./ossutil64 rm oss://bucketname[/prefix]
[-r, --recursive]
[-b, --bucket]
[-m, --multipart]
[-a, --all-type]
[-f, --force]
[--include <value>]
[--exclude <value>]
[--version-id <value>]
[--all-versions]
[--payer <value>]
[--encoding-type <value>]
次の表に、構文のパラメーターとオプションを示します。
パラメータ /オプション | 説明 |
bucketname | バケットの名前です。 |
プレフィックス | ディレクトリやオブジェクトなどのリソース名のプレフィックス。 |
-r, -- recursive | このオプションを指定すると、指定されたプレフィックスを名前に含むすべてのオブジェクトがバケットから削除されます。 このオプションを指定しない場合、指定されたオブジェクトだけが削除されます。 |
-b, -- bucket | コマンドがバケットを削除することを指定します。 このオプションは、バケットを削除する場合にのみ必要です。 |
-m, -- multipart | バケット内の不完全なマルチパートアップロードタスクに対して操作を実行することを指定します。 |
-a, -- all-type | バケット内の不完全なマルチパートアップロードタスクによって作成された指定されたプレフィックスとデータを名前に含むオブジェクトに対して操作を実行することを指定します。 |
-f, -- force | 確認を必要とせずに操作を強制します。 |
-含める | 指定された条件を満たすすべてのオブジェクトを含みます。 詳細については、「オプション -- includeおよび -- exclude 」をご参照ください。 |
-除外 | 指定された条件を満たすすべてのオブジェクトを除外します。 詳細については、「オプション -- includeおよび -- exclude 」をご参照ください。 |
-- version-id | 削除するオブジェクトのバージョンID。 このパラメーターは、バケットのバージョン管理ステータスが有効または一時停止されている場合にのみ適用されます。 |
-すべてのバージョン | オブジェクトのすべてのバージョンを指定します。 このオプションは、バージョン管理が有効または一時停止されているバケット内のオブジェクトにのみ適用されます。 単一のrmコマンドで指定できるのは、-- version-idオプションと -- all-versionsオプションのいずれかだけです。 |
-- 支払人 | 操作によって生成される料金の支払人。 指定されたパスのリソースにアクセスするリクエスタが、トラフィックやリクエスト料金など、操作によって発生する料金を支払うようにする場合は、このパラメーターをrequesterに設定します。 |
-- encoding-type |
|
オブジェクトの削除
オブジェクトは削除後に復元できません。 この操作は慎重に行ってください。
rmコマンドを-rオプションの有無にかかわらず使用して1つ以上のオブジェクトを削除すると、ListObjects (GetBucket) およびDeleteObject操作が呼び出されます。 この場合、PUTリクエストの送信に対して課金されます。 詳細については、「API操作呼び出し料金」をご参照ください。
rmコマンドに -- includeおよび -- excludeオプションを含めてオブジェクトを削除すると、不適切な条件設定により誤って削除される可能性があります。 両方のオプションをrmコマンドに含める場合は、注意してください。
-- includeオプションと -- excludeオプションには、複数の条件を指定できます。 すべての条件は、オブジェクトを一致させるために左から右に適用されます。 複数の条件を指定する場合は、-- excludeオプションの前に -- includeオプションを指定することを推奨します。
例
単一のオブジェクトの削除
examplebucketという名前のバケットからexampleobject.txtという名前のオブジェクトを削除します。
./ossutil64 rm oss:// examplebucket/exampleobject.txt
examplebucketという名前のバケットから "test" プレフィックスを含むオブジェクトをすべて削除します。
./ossutil64 rm oss:// examplebucket/test -r
examplebucketという名前のバケットから、サフィックス ".png" を含むオブジェクトをすべて削除します。
./ossutil64 rm oss:// examplebucket -- include "*.png" -r
examplebucketという名前のバケットから、名前に文字列 "abc" が含まれ、".jpg" または ".txt" が含まれていないオブジェクトを削除します。
./ossutil64 rm oss:// examplebucket -- include "* abc *" -- exclude "*.jpg" -- exclude "*.txt" -r
examplebucketというバージョンのバケットから、exampleobject.txtという名前のオブジェクトの特定のバージョンを削除します。
./ossutil64 rm oss://examplebucket/exampleobject.txt --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****
オブジェクトのすべてのバージョンを取得する方法の詳細については、「ls」をご参照ください。
examplebucketというバージョンのバケットから、exampleobject.txtというオブジェクトのすべてのバージョンを削除します。
./ossutil64 rm oss://examplebucket/exampleobject.txt --all-versions
examplebucketというバージョンのバケットからすべてのオブジェクトのすべてのバージョンを削除します。
./ossutil64 rm oss:// examplebucket -- all-versions -r
レスポンスの例
成功応答には、削除されたオブジェクトの数と削除操作の完了に使用した時間が含まれます。
Succeed: Total 8 objects. Removed 8 objects. 0.106852(s) elapsed
パーツの削除
rmコマンドと複数のオプションを使用してパーツを削除する場合、ListMultipartUploads、ListParts、およびAbortMultipartUpload操作が呼び出されます。 この場合、ListMultipartUploadsおよびListParts操作が呼び出されたときのGETリクエストの送信と、AbortMultipartUpload操作が呼び出されたときのPUTリクエストの送信に対して課金されます。 詳細については、「API操作呼び出し料金」をご参照ください。
例
コマンドに -mオプションを指定して、examplebucketという名前のバケットからexampleobject.txtという名前のオブジェクトの不完全なマルチパートアップロードタスクによって生成されたパーツを削除します。
./ossutil64 rm -m oss:// examplebucket/exampleobject.txt
コマンドに -mおよび -rオプションを指定して、examplebucketという名前のバケットから "test" プレフィックスを含むオブジェクトの不完全なマルチパートアップロードタスクによって生成されたパーツを再帰的に削除します。
./ossutil64 rm -m oss://examplebucket/test -r Do you really mean to remove recursively multipart uploadIds of oss://examplebucket/test(y or N)? y
コマンドで -aオプションと -rオプションを指定して、名前に "src" が含まれるオブジェクトと、これらのオブジェクトの不完全なマルチパートアップロードタスクによって生成されたパーツをバケット名examplebucketから再帰的に削除します。
./ossutil64 rm oss://examplebucket/src -a -r Do you really mean to remove recursively objects and multipart uploadIds of oss://examplebucket/src(y or N)? y
レスポンスの例
成功応答には、削除されたオブジェクトの数、削除されたパーツが生成されるマルチパートアップロードタスクの数、および削除操作の完了に使用された時間が含まれます。
Succeed: Total 1 objects, 3 uploadIds. Removed 1 objects, 3 uploadIds. 1.922915(s) elapsed
バケットの削除
オブジェクトまたはパーツを含まないexamplebucketバケットを削除します。
./ossutil64 rm oss://examplebucket -b Do you really mean to remove the Bucket: examplebucket(y or N)? y
成功応答には、削除されたバケットの名前と、バケットの削除に使用された時間が含まれます。
Removed Bucket: examplebucket 2.230745(s) elapsed
examplebucketという名前のバケットと、バケット内のすべてのオブジェクトとパーツを削除します。
警告次のコマンドを実行すると、バケット内のすべてのデータが削除され、削除されたデータは復元できません。 データを含むバケットを削除するときは、注意してください。
./ossutil64 rm oss://examplebucket -b -a -r Do you really mean to remove recursively objects and multipart uploadIds of oss://examplebucket(y or N)? y Do you really mean to remove the Bucket: examplebucket(y or N)? y
成功応答には、削除されたオブジェクトの数、削除されたパーツが生成されるマルチパートアップロードタスクの数、削除されたバケットの名前、および削除操作の完了に使用された時間が含まれます。
Succeed: Total 189 objects, 37 uploadIds. Removed 189 objects, 37 uploadIds. Removed Bucket: examplebucket 9.184193(s) elapsed
一般的なオプション
ossutilを使用して別のリージョンにあるバケットに切り替える場合は、コマンドに -eオプションを追加して、指定したバケットがあるリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、コマンドに -iオプションを追加して、指定されたアカウントのAccessKey IDを指定し、コマンドに -kオプションを追加して、指定されたアカウントのAccessKey secretを指定します。
たとえば、次のコマンドを実行して、中国 (上海) リージョンにあり、別のAlibaba Cloudアカウントに属するtestbucketという名前のバケットからexampletest.pngという名前のオブジェクトを削除できます。
./ossutil64 rm oss://testbucket/exampletest.png -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
共通オプションの詳細については、「共通オプション」をご参照ください。