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

Object Storage Service:rm, rm

最終更新日:Dec 19, 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権限が必要です。

  • ossutil 1.6.16以降の場合、コマンドラインでossutilをバイナリ名として直接使用できます。 オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 1.6.16より前のossutilの場合、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。 詳細は、「ossutilコマンドリファレンス」をご参照ください。

コマンド構文

ossutil 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という名前のオブジェクトを削除します。

      ossutil rm oss:// examplebucket/exampleobject.txt
    • examplebucketという名前のバケットから "test" プレフィックスを含むオブジェクトをすべて削除します。

      ossutil rm oss:// examplebucket/test -r
    • examplebucketという名前のバケットから、サフィックス ".png" を含むオブジェクトをすべて削除します。

      ossutil rm oss:// examplebucket -- include "*.png" -r
    • examplebucketという名前のバケットから、名前に文字列 "abc" が含まれ、".jpg" または ".txt" が含まれていないオブジェクトを削除します。

      ossutil rm oss:// examplebucket -- include "* abc *" -- exclude "*.jpg" -- exclude "*.txt" -r
    • examplebucketというバージョン管理が有効なバケットから、exampleobject.txtというオブジェクトの特定のバージョンを削除します。

      ossutil rm oss:// examplebucket/exampleobject.txt -- version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3 ****

      オブジェクトのすべてのバージョンを取得する方法の詳細については、「ls」をご参照ください。

    • examplebucketというバージョン管理が有効なバケットから、exampleobject.txtというオブジェクトのすべてのバージョンを削除します。

      ossutil rm oss:// examplebucket/exampleobject.txt -- すべてのバージョン
    • examplebucketというバージョン管理が有効なバケットから、すべてのオブジェクトのすべてのバージョンを削除します。

      ossutil 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という名前のオブジェクトの不完全なマルチパートアップロードタスクによって生成されたパーツを削除します。

      ossutil rm -m oss:// examplebucket/exampleobject.txt
    • コマンドに -mおよび -rオプションを指定して、examplebucketという名前のバケットから "test" プレフィックスを含むオブジェクトの不完全なマルチパートアップロードタスクによって生成されたパーツを再帰的に削除します。

      ossutil 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という名前のバケットからこれらのオブジェクトの不完全なマルチパートアップロードタスクによって生成されたパーツを再帰的に削除します。

      ossutil 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バケットを削除します。

    ossutil 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という名前のバケットと、バケット内のすべてのオブジェクトとパーツを削除します。

    警告

    次のコマンドを実行すると、バケット内のすべてのデータが削除され、削除されたデータは復元できません。 この操作は慎重に行ってください。

    ossutil 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という名前のオブジェクトを削除できます。

ossutil rm oss://testbucket/exampletest.png -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA****  -k 67DLVBkH7EamOjy2W5RVAHUY9H****

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