Topik ini menjelaskan cara menjalankan perintah rm untuk menghapus objek, bagian, atau bucket yang tidak lagi diperlukan guna menghindari biaya yang tidak perlu.
Catatan penggunaan
Untuk menghapus satu objek, Anda harus memiliki izin
oss:DeleteObject. Untuk menghapus semua objek dalam direktori, Anda harus memiliki izinoss:DeleteObjectdanoss:ListObjects. Untuk menghapus versi objek tertentu, Anda harus memiliki izinoss:DeleteObjectVersion. Untuk menghapus semua versi objek dalam bucket, Anda harus memiliki izinoss:ListObjectVersionsdanoss:DeleteObjectVersion. Untuk menghapus semua versi objek dalam direktori, Anda harus memiliki izinoss:DeleteObjectVersiondanoss:ListObjects. Untuk menghapus bagian-bagian dari suatu objek, Anda harus memiliki izinoss:ListMultipartUploadsdanoss:AbortMultipartUpload. Untuk menghapus semua objek dan bagian dalam bucket, Anda harus memiliki izinoss:ListMultipartUploads,oss:AbortMultipartUpload,oss:ListObjects, danoss:DeleteObject. Untuk menghapus bucket, Anda harus memiliki izinoss:DeleteBucket.Mulai versi ossutil 1.6.16 dan yang lebih baru, Anda dapat langsung menggunakan ossutil sebagai nama biner di command line tanpa perlu menyesuaikan nama biner berdasarkan sistem operasi. Untuk versi sebelum 1.6.16, Anda harus memperbarui nama biner sesuai sistem operasi. Untuk informasi selengkapnya, lihat Referensi perintah ossutil.
Sintaksis perintah
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>]Tabel berikut menjelaskan parameter dan opsi dalam sintaksis tersebut.
Parameter/Opsi | Deskripsi |
bucketname | Nama bucket. |
prefix | Awalan dalam nama sumber daya, seperti direktori dan objek. |
-r, --recursive | Jika Anda menentukan opsi ini, ossutil akan menghapus semua objek yang namanya mengandung awalan yang ditentukan dari bucket. Jika Anda tidak menentukan opsi ini, ossutil hanya menghapus objek yang ditentukan. |
-b, --bucket | Menentukan bahwa perintah menghapus bucket. Opsi ini hanya diperlukan saat Anda menghapus bucket. |
-m, --multipart | Menentukan bahwa operasi dilakukan pada tugas unggah multi-bagian yang belum lengkap di dalam bucket. |
-a, --all-type | Menentukan bahwa operasi dilakukan pada objek yang namanya mengandung awalan yang ditentukan dan data yang dibuat oleh tugas unggah multi-bagian yang belum lengkap di dalam bucket. |
-f, --force | Memaksa operasi tanpa meminta konfirmasi. |
--include | Mencakup semua objek yang memenuhi kondisi yang ditentukan. Untuk informasi selengkapnya, lihat Opsi --include dan --exclude. |
--exclude | Mengecualikan semua objek yang memenuhi kondisi yang ditentukan. Untuk informasi selengkapnya, lihat Opsi --include dan --exclude. |
--version-id | ID versi objek. Parameter ini hanya berlaku untuk bucket yang telah diaktifkan atau ditangguhkan Pengendalian versi-nya. |
--all-versions | Menentukan semua versi objek. Opsi ini hanya berlaku untuk objek dalam bucket yang telah diaktifkan atau ditangguhkan Pengendalian versi-nya. Anda hanya dapat menentukan salah satu dari opsi --version-id dan --all-versions dalam satu perintah rm. |
--payer | Pihak yang membayar biaya yang dihasilkan oleh operasi. Jika Anda ingin pihak yang mengakses sumber daya di path tertentu membayar biaya yang dihasilkan oleh operasi—seperti biaya traffic dan permintaan—atur parameter ini ke requester. |
--encoding-type | Encoding untuk awalan yang mengikuti |
Hapus objek
Objek tidak dapat dipulihkan setelah dihapus. Lakukan operasi ini dengan hati-hati.
Jika Anda menggunakan perintah rm dengan atau tanpa opsi -r untuk menghapus satu atau beberapa objek, operasi ListObjects (GetBucket) dan DeleteObject akan dipanggil. Dalam kasus ini, Anda dikenai biaya untuk pengiriman permintaan PUT. Untuk informasi selengkapnya, lihat Biaya pemanggilan operasi API.
Jika Anda menyertakan opsi --include dan --exclude dalam perintah rm untuk menghapus objek, penghapusan tidak disengaja dapat terjadi akibat konfigurasi kondisi yang tidak tepat. Kami menyarankan agar Anda berhati-hati saat menggunakan kedua opsi tersebut.
Anda dapat menentukan lebih dari satu kondisi dalam opsi --include dan --exclude. Semua kondisi diterapkan dari kiri ke kanan untuk mencocokkan objek. Jika Anda menentukan lebih dari satu kondisi, kami menyarankan agar Anda menempatkan opsi --include sebelum opsi --exclude.
Contoh
Hapus satu objek
Hapus objek bernama exampleobject.txt dari bucket bernama examplebucket.
ossutil rm oss://examplebucket/exampleobject.txtHapus semua objek yang namanya mengandung awalan "test" dari bucket bernama examplebucket.
ossutil rm oss://examplebucket/test -rHapus semua objek yang namanya mengandung akhiran ".png" dari bucket bernama examplebucket.
ossutil rm oss://examplebucket --include "*.png" -rHapus objek yang namanya mengandung string "abc" dan tidak mengandung akhiran ".jpg" atau ".txt" dari bucket bernama examplebucket.
ossutil rm oss://examplebucket --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -rHapus versi tertentu dari objek bernama exampleobject.txt di bucket yang telah diaktifkan Pengendalian versi, yaitu examplebucket.
ossutil rm oss://examplebucket/exampleobject.txt --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****Untuk informasi selengkapnya tentang cara mendapatkan semua versi objek, lihat ls.
Hapus semua versi objek bernama exampleobject.txt dari bucket examplebucket yang telah diaktifkan Pengendalian versi.
ossutil rm oss://examplebucket/exampleobject.txt --all-versionsHapus semua versi setiap objek dari bucket bernama examplebucket yang telah diaktifkan Pengendalian versi.
ossutil rm oss://examplebucket --all-versions -r
Output contoh
Tanggapan sukses mencakup jumlah objek yang dihapus dan waktu yang digunakan untuk menyelesaikan operasi penghapusan:
Succeed: Total 8 objects. Removed 8 objects. 0.106852(s) elapsed
Hapus bagian
Jika Anda menggunakan perintah rm dengan beberapa opsi untuk menghapus bagian, operasi ListMultipartUploads, ListParts, dan AbortMultipartUpload akan dipanggil. Dalam kasus ini, Anda dikenai biaya untuk pengiriman permintaan GET saat operasi ListMultipartUploads dan ListParts dipanggil serta untuk pengiriman permintaan PUT saat operasi AbortMultipartUpload dipanggil. Untuk informasi selengkapnya, lihat Biaya pemanggilan operasi API.
Contoh
Tentukan opsi -m dalam perintah untuk menghapus bagian yang dihasilkan oleh tugas unggah multi-bagian yang belum lengkap dari objek bernama exampleobject.txt di bucket bernama examplebucket.
ossutil rm -m oss://examplebucket/exampleobject.txtTentukan opsi -m dan -r dalam perintah untuk menghapus secara rekursif bagian yang dihasilkan oleh tugas unggah multi-bagian yang belum lengkap dari objek yang namanya mengandung awalan "test" di bucket bernama examplebucket.
ossutil rm -m oss://examplebucket/test -r Do you really mean to remove recursively multipart uploadIds of oss://examplebucket/test(y or N)? yTentukan opsi -a dan -r dalam perintah untuk menghapus secara rekursif objek yang namanya mengandung awalan "src" serta bagian hasil dari tugas unggah multi-bagian yang belum lengkap dari objek tersebut di bucket bernama 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
Tanggapan contoh
Tanggapan sukses mencakup jumlah objek yang dihapus, jumlah tugas unggah multi-bagian yang menghasilkan bagian yang dihapus, dan waktu yang digunakan untuk menyelesaikan operasi penghapusan:
Succeed: Total 1 objects, 3 uploadIds. Removed 1 objects, 3 uploadIds. 1.922915(s) elapsed
Hapus bucket
Hapus bucket examplebucket yang tidak berisi objek atau bagian apa pun.
ossutil rm oss://examplebucket -b Do you really mean to remove the Bucket: examplebucket(y or N)? yTanggapan sukses mencakup nama bucket yang dihapus dan waktu yang digunakan untuk menghapus bucket tersebut:
Removed Bucket: examplebucket 2.230745(s) elapsedHapus bucket bernama examplebucket beserta semua objek dan bagian di dalamnya.
PeringatanJika Anda menjalankan perintah berikut, semua data dalam bucket akan dihapus dan data yang dihapus tidak dapat dipulihkan. Lakukan operasi ini dengan hati-hati.
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)? yTanggapan sukses mencakup jumlah objek yang dihapus, jumlah tugas unggah multi-bagian yang menghasilkan bagian yang dihapus, nama bucket yang dihapus, dan waktu yang digunakan untuk menyelesaikan operasi penghapusan:
Succeed: Total 189 objects, 37 uploadIds. Removed 189 objects, 37 uploadIds. Removed Bucket: examplebucket 9.184193(s) elapsed
Opsi umum
Jika Anda menggunakan ossutil untuk mengakses bucket di wilayah berbeda, tambahkan opsi -e untuk menentukan Titik akhir wilayah bucket tersebut. Jika Anda menggunakan ossutil untuk mengakses bucket yang dimiliki oleh Akun Alibaba Cloud lain, tambahkan opsi -i untuk menentukan ID AccessKey dan opsi -k untuk menentukan Rahasia AccessKey akun tersebut.
Sebagai contoh, Anda dapat menjalankan perintah berikut untuk menghapus objek bernama exampletest.png dari bucket bernama testbucket yang berada di wilayah Tiongkok (Shanghai) dan dimiliki oleh Akun Alibaba Cloud lain:
ossutil rm oss://testbucket/exampletest.png -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecretUntuk informasi selengkapnya tentang opsi umum lainnya untuk perintah ini, lihat Opsi umum.
Kesalahan umum
Tabel berikut menjelaskan kesalahan umum yang mungkin Anda temui saat menggunakan perintah rm.
Kesalahan | Penyebab | Solusi |
| Izin tidak mencukupi. | Verifikasi izin RAM. |
| Titik akhir untuk wilayah bucket salah. | Gunakan format titik akhir yang benar. Lihat Opsi umum. |
| Nilai opsi tidak valid. | Periksa format |
Referensi: Kode kesalahan HTTP 403, Kode kesalahan HTTP 400