すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:rm

最終更新日:Aug 07, 2024

このトピックでは、rmコマンドを実行して、不要な課金を回避するために不要になったオブジェクト、パーツ、またはバケットを削除する方法について説明します。

使用上の注意

  • 1つのオブジェクトを削除するには、oss:DeleteObject権限が必要です。 ディレクトリ内のすべてのオブジェクトを削除するには、oss:DeleteObjectおよびoss:ListObjects権限が必要です。 特定のオブジェクトバージョンを削除するには、oss:DeleteObjectVersion権限が必要です。 バケット内のすべてのオブジェクトバージョンを削除するには、oss:ListObjectVersionsおよびoss:DeleteObjectVersion権限が必要です。 ディレクトリ内のすべてのオブジェクトバージョンを削除するには、oss:DeleteObjectVersionおよびoss:ListObjects権限が必要です。 オブジェクトの一部を削除するには、oss:ListMultipartUploadsおよびoss:AbortMultipartUpload権限が必要です。 バケット内のすべてのオブジェクトとパーツを削除するには、oss:ListMultipartUploadsoss:AbortMultipartUploadoss: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

oss:// bucket_nameに続くプレフィックスをエンコードするために使用されるメソッド。 有効値: url このオプションを指定しない場合、プレフィックスはエンコードされません。

オブジェクトの削除

警告

オブジェクトは削除後に復元できません。 この操作は慎重に行ってください。

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コマンドと複数のオプションを使用してパーツを削除する場合、ListMultipartUploadsListParts、および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****

共通オプションの詳細については、「共通オプション」をご参照ください。