Operasi ini digunakan untuk menghapus direktori dan hanya berlaku untuk bucket dengan fitur namespace hierarkis diaktifkan.
Catatan
Untuk menghapus direktori, gunakan salah satu metode berikut:
Hapus rekursif: Semua objek dan subdirektori dalam direktori akan dihapus.
Hapus non-rekursif: Direktori dapat dihapus jika kosong.
Metode penghapusan yang berbeda memerlukan izin yang berbeda.
Saat menggunakan metode hapus rekursif, Anda harus memiliki izin DeleteObject pada direktori serta semua objek dan subdirektori di dalamnya.
Sebagai contoh, untuk menghapus direktori oss dari direktori desktop secara rekursif, Anda harus memiliki izin DeleteObject pada direktori desktop/osstest dan semua objek serta subdirektori di dalamnya.
Untuk menggunakan metode hapus non-rekursif, Anda harus memiliki izin DeleteObject pada direktori tersebut.
Sebagai contoh, untuk menghapus direktori dir dari direktori desktop secara non-rekursif, Anda harus memiliki izin DeleteObject pada direktori desktop/dir.
Jika permintaan bersamaan dikirim untuk menulis data ke direktori saat menggunakan metode hapus rekursif, penghapusan direktori mungkin gagal.
Struktur permintaan
POST /objectName?x-oss-delete HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValueHeader permintaan
Header | Tipe | Diperlukan | Deskripsi |
x-oss-delete-recursive | String | Tidak | Menentukan apakah akan menghapus direktori secara rekursif.
Nilai default: false |
x-oss-delete-token | String | Tidak | Nama objek atau direktori setelah operasi penghapusan berikutnya dimulai. Opsi ini hanya valid ketika x-oss-delete-recursive disetel ke true. Opsi ini kosong saat Anda memanggil operasi DeleteDirectory pada bucket untuk pertama kalinya. |
Operasi API ini mencakup header permintaan umum seperti Host dan Date. Untuk informasi lebih lanjut tentang header permintaan umum, lihat Header Permintaan Umum.
Header respons
Header respons operasi API ini hanya mencakup header respons umum. Untuk informasi lebih lanjut tentang header respons umum, lihat Header Respons Umum.
Elemen respons
Elemen | Tipe | Deskripsi |
DeleteDirectoryResult | Container | Kontainer yang menyimpan objek yang dihapus. Node induk: tidak ada |
DirectoryName | String | Nama direktori yang dihapus. Node induk: DeleteDirectoryResult |
DeleteNumber | String | Jumlah objek dan direktori yang dihapus. Node induk: DeleteDirectoryResult |
NextDeleteToken | String | Nama objek atau direktori setelah operasi penghapusan dimulai. Node induk: DeleteDirectoryResult |
Contoh
Gunakan metode hapus non-rekursif untuk menghapus direktori
Contoh Permintaan
POST /desktop/osstest/a?x-oss-delete HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Thu, 29 Apr 2021 05:21:12 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eContoh Respons Sukses
HTTP/1.1 200 OK x-oss-request-id: 559CC9BDC755F95A64485981 Date: Thu, 29 Apr 2021 05:21:12 GMT Connection: keep-alive Server: AliyunOSS <DeleteDirectoryResult> <DirectoryName>desktop/osstest/a</DirectoryName> <DeleteNumber>1</DeleteNumber> </DeleteDirectoryResult>Hapus direktori secara rekursif
Contoh Permintaan
POST /desktop/osstest/a?x-oss-delete HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Thu, 29 Apr 2021 05:21:12 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e x-oss-delete-recursive: trueContoh Respons Sukses
HTTP/1.1 200 OK x-oss-request-id: 559CC9BDC755F95A64485981 Date: Thu, 29 Apr 2021 05:21:12 GMT Connection: keep-alive Server: AliyunOSS <DeleteDirectoryResult> <DirectoryName>desktop/osstest/a</DirectoryName> <DeleteNumber>100</DeleteNumber> <NextDeleteToken>Cg9kZXNrdG9wL29zcy9hLzk-</NextDeleteToken> </DeleteDirectoryResult>
SDK OSS
Anda dapat menggunakan SDK OSS untuk bahasa pemrograman berikut untuk memanggil operasi DeleteDirectory:
Kode kesalahan
Kode kesalahan | Kode status HTTP | Deskripsi |
AccessDenied | 403 | Penyebab yang mungkin:
|
NoSuchKey | 404 | Saat Anda menghapus direktori, direktori yang ditentukan tidak ada. |
FileAlreadyExists | 409 | Penyebab yang mungkin:
|
InvalidArgument | 400 | Saat Anda menggunakan metode hapus rekursif untuk menghapus direktori, format nilai x-oss-delete-token tidak valid. |