Menghapus sebuah objek.
Catatan penggunaan
Jika bucket memiliki aturan replikasi data yang dikonfigurasi dan diatur untuk menyinkronkan semua perubahan pada data (Tambah/Hapus/Ubah), termasuk pembuatan, modifikasi, dan penghapusan objek, memanggil operasi DeleteObject untuk menghapus objek yang tersimpan di dalamnya akan mengakibatkan objek yang direplikasi dihapus dari bucket tujuan yang terkait dengan kebijakan replikasi. Selain itu, jika versioning juga diaktifkan untuk bucket ini, penanda hapus akan dibuat untuk objek yang dihapus di bucket sumber dan direplikasi ke bucket tujuan saat Anda memanggil operasi DeleteObject.
Objek yang dihapus tidak dapat dipulihkan. Lanjutkan dengan hati-hati. Untuk informasi lebih lanjut tentang cara menghapus objek, lihat Hapus objek.
Kode status HTTP 204 dikembalikan ketika operasi DeleteObject berhasil, terlepas dari apakah objek tersebut ada atau tidak.
Jika objek yang ingin Anda hapus adalah tautan simbolik, operasi DeleteObject hanya menghapus tautan simbolik tetapi tidak menghapus objek yang ditunjuk oleh tautan tersebut.
Operasi DeleteObject tidak dapat digunakan untuk menghapus direktori dalam bucket yang fitur namespace hierarkisnya diaktifkan.
Versioning
Saat Anda memanggil DeleteObject untuk menghapus objek dari bucket yang diberi versi, Anda harus menentukan apakah akan menyertakan ID versi dalam permintaan.
Hapus objek tanpa menentukan ID versi (penghapusan sementara)
Jika Anda tidak menentukan ID versi objek yang ingin Anda hapus dalam permintaan, OSS tidak akan menghapus versi saat ini dari objek tetapi menambahkan penanda hapus ke objek sebagai versi baru. Selain itu, tanggapan terhadap permintaan mencakup header
x-oss-delete-marker = truedan headerx-oss-version-idyang menunjukkan ID versi dari penanda hapus yang dibuat.Jika nilai dari
x-oss-delete-markeradalah true, nilai darix-oss-version-idadalah ID versi dari penanda hapus.CatatanJika Anda menghapus objek tanpa menentukan ID versinya dalam bucket yang pengendalian versinya ditangguhkan dan objek tersebut sudah memiliki versi null, OSS menambahkan penanda hapus dengan ID versi null untuk menimpa versi null yang ada. Sebuah objek dapat memiliki hingga satu versi yang ID versinya adalah null.
Hapus objek dengan menentukan ID versi (penghapusan permanen)
Jika Anda menentukan
versionIddalamparamsdari permintaan, OSS menghapus versi yang ditentukan. Jika Anda ingin menghapus versi null, sertakanparams['versionId'] = "null"dalamparams. OSS mengidentifikasi string "null" sebagai ID versi yang akan dihapus dan menghapus versi null tersebut.
Izin
Secara default, akun Alibaba Cloud memiliki izin penuh. Pengguna RAM atau Peran RAM di bawah Akun Alibaba Cloud tidak memiliki izin apa pun secara default. Akun Alibaba Cloud atau administrator akun harus memberikan izin operasi melalui Kebijakan RAM atau Kebijakan Bucket.
API | Aksi | Deskripsi |
DeleteObject | oss:DeleteObject | Menghapus sebuah objek. |
oss:DeleteObjectVersion | Menghapus versi tertentu dari sebuah objek. |
Sintaks permintaan
DELETE /ObjectName HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValueHeader permintaan
Semua header dalam permintaan DescribeRegions adalah header permintaan umum. Untuk informasi lebih lanjut, lihat Header Permintaan Umum.
Header respons
Header | Tipe | Contoh | Deskripsi |
x-oss-delete-marker | Boolean | true | Menunjukkan apakah objek tersebut adalah penanda hapus.
Nilai valid: true |
x-oss-version-id | String | CAEQMxiBgIDh3ZCB0BYiIGE4YjIyMjExZDhhYjQxNzZiNGUyZTI4ZjljZDcz**** | ID versi dari objek yang dihapus.
|
Tanggapan terhadap permintaan ini berisi header respons umum. Untuk informasi lebih lanjut tentang header respons umum, lihat Header Respons Umum.
Contoh
Hapus objek dari bucket tanpa versi.
Permintaan Contoh
DELETE /AK.txt HTTP/1.1 Host: test.oss-cn-zhangjiakou.aliyuncs.com Accept-Encoding: identity User-Agent: aliyun-sdk-python/2.6.0(Windows/7/AMD64;3.7.0) Accept: text/html Connection: keep-alive Date: Wed, 02 Jan 2019 13:28:38 GMT authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e Content-Length: 0Tanggapan Contoh
HTTP/1.1 204 No Content Server: AliyunOSS Date: Wed, 02 Jan 2019 13:28:38 GMT Content-Length: 0 Connection: keep-alive x-oss-request-id: 5C2CBC8653718B5511EF4535 x-oss-server-time: 134Hapus objek dari bucket yang diberi versi tanpa menentukan ID versi.
Dalam hal ini, OSS menambahkan penanda hapus ke objek dan menyertakan header
x-oss-delete-marker=truedalam respons.Permintaan Contoh
DELETE /example HTTP/1.1 Host: versioning-delete.oss-cn-hangzhou.aliyuncs.com Date: Tue, 09 Apr 2019 04:08:23 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eTanggapan Contoh
HTTP/1.1 204 NoContent x-oss-delete-marker: true x-oss-version-id: CAEQMxiBgIDh3ZCB0BYiIGE4YjIyMjExZDhhYjQxNzZiNGUyZTI4ZjljZDcz**** x-oss-request-id: 5CAC1AB7B7AEADE01700**** Date: Tue, 09 Apr 2019 04:08:23 GMT Connection: keep-alive Server: AliyunOSSHapus versi objek dari bucket yang diberi versi dengan menentukan ID versi.
Dalam hal ini, versi objek yang ditentukan dihapus secara permanen.
Permintaan Contoh
DELETE /example?versionId=CAEQOBiBgIDNlJeB0BYiIDAwYjJlNDQ4YjJkMzQxMmY5NTM5N2UzZWNiZTQ2**** HTTP/1.1 Host: versioning-delete.oss-cn-hangzhou.aliyuncs.com Date: Tue, 09 Apr 2019 04:11:54 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eTanggapan Contoh
HTTP/1.1 204 No Content x-oss-version-id: CAEQOBiBgIDNlJeB0BYiIDAwYjJlNDQ4YjJkMzQxMmY5NTM5N2UzZWNiZTQ2**** x-oss-request-id: 5CAC1B8AB7AEADE01700**** Date: Tue, 09 Apr 2019 04:11:54 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSSHapus penanda hapus dari bucket yang diberi versi dengan menentukan ID versi dari penanda hapus.
Dalam contoh berikut, versi yang ditentukan adalah penanda hapus. Header
x-oss-delete-marker=truedisertakan dalam respons.Permintaan Contoh
DELETE /example?versionId=CAEQOBiBgIDNlJeB0BYiIDAwYjJlNDQ4YjJkMzQxMmY5NTM5N2UzZWNiZTQ2**** HTTP/1.1 Host: versioning-delete.oss-cn-hangzhou.aliyuncs.com Date: Tue, 09 Apr 2019 04:16:25 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eTanggapan Contoh
HTTP/1.1 204 No Content x-oss-delete-marker: true x-oss-version-id: CAEQNhiBgIDFtp.B0BYiIDk4NzgwMmU4NDMyOTQyM2NiMDQxOTcxYWNhMjc1**** x-oss-request-id: 5CAC1C99B7AEADE01700**** Date: Tue, 09 Apr 2019 04:16:25 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS
SDK
Anda dapat menggunakan SDK OSS untuk bahasa pemrograman berikut untuk memanggil DeleteObject:
ossutil
Untuk informasi tentang perintah ossutil yang sesuai dengan operasi DeleteObject, lihat delete-object.
Referensi
Untuk informasi tentang operasi API yang dapat Anda panggil untuk menghapus beberapa objek sekaligus, lihat DeleteMultipleObjects.
Untuk informasi tentang cara menghapus objek secara otomatis, lihat Lifecycle.
Kode kesalahan
Kode kesalahan | Kode status HTTP | Deskripsi |
FileImmutable | 409 | Anda mencoba menghapus atau memodifikasi data yang dilindungi. Selama periode perlindungan, data dalam bucket tidak dapat dihapus atau dimodifikasi. |
FileAlreadyExists | 409 | Objek yang ingin Anda hapus adalah direktori dalam bucket yang fitur namespace hierarkisnya diaktifkan. |