全部产品
Search
文档中心

Object Storage Service:DeleteMultipleObjects

更新时间:Jan 09, 2026

Operasi DeleteMultipleObjects menghapus beberapa objek dari bucket yang sama.

Catatan

  • Satu permintaan DeleteMultipleObjects dapat menghapus hingga 1.000 objek.

  • Jika sebuah bucket memiliki aturan replikasi data dan kebijakan replikasinya diatur ke Sync Additions, Deletions, And Modifications, saat Anda memanggil DeleteMultipleObjects untuk menghapus objek dalam bucket tersebut, objek yang sesuai di bucket target juga akan dihapus. Objek-objek tersebut tidak dapat dipulihkan setelah dihapus. Jika Pengendalian versi juga diaktifkan untuk bucket tersebut, saat Anda memanggil DeleteMultipleObjects, OSS membuat penanda hapus untuk setiap objek yang dihapus di bucket tersebut. Aksi ini direplikasi ke bucket target, dan penanda hapus yang sesuai dibuat.

  • Objek yang telah dihapus tidak dapat dipulihkan. Lakukan dengan hati-hati. Untuk informasi selengkapnya tentang cara menghapus objek, lihat Delete objects.

Pengendalian versi

Anda juga dapat menggunakan operasi DeleteMultipleObjects untuk menghapus beberapa objek dari bucket yang telah diaktifkan Pengendalian versi. Jika Anda tidak menentukan ID versi dalam permintaan penghapusan, penanda hapus akan dimasukkan. Jika Anda menentukan ID versi, versi objek yang ditentukan akan dihapus secara permanen.

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 RAM policies atau Bucket policies.

API

Action

Definisi

DeleteMultipleObjects

oss:DeleteObject

Menghapus beberapa objek dari sebuah bucket.

Sintaksis permintaan

POST /?delete HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Content-Length: ContentLength
Content-MD5: MD5Value
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<Delete>
  <Quiet>true</Quiet>
  <Object>
    <Key>key</Key>
  </Object>
…
</Delete>

Header permintaan

OSS memverifikasi isi pesan berdasarkan header permintaan berikut sebelum operasi penghapusan dilakukan.

Nama

Tipe

Wajib

Contoh

Deskripsi

Encoding-type

String

Tidak

url2

Kunci objek harus dikodekan dalam UTF-8. Jika kunci tersebut mengandung karakter kontrol yang tidak didukung oleh XML 1.0, atur Encoding-type ke url2 dan URL-encode kunci tersebut dalam permintaan. OSS kemudian akan mengkodekan bidang Key dalam respons.

Nilai default: none

Nilai yang valid: url2

Content-Length

String

Ya

151

Panjang isi pesan HTTP.

OSS memverifikasi isi pesan yang diterima berdasarkan header permintaan ini. Operasi penghapusan hanya dilakukan setelah isi pesan diverifikasi.

Content-MD5

String

Ya

ohhnqLBJFiKkPSBO1eNaUA==

Header Content-MD5 adalah nilai yang dihasilkan menggunakan algoritma MD5. Header ini digunakan untuk memeriksa apakah isi pesan sama dengan isi yang dikirim. Setelah Anda menentukan header permintaan Content-MD5, OSS menghitung nilai Content-MD5 dari isi pesan dan memeriksa apakah nilainya konsisten dengan nilai header permintaan Content-MD5.

Catatan

Untuk mendapatkan nilai bidang Content-MD5, enkripsi isi pesan permintaan DeleteMultipleObjects menggunakan algoritma MD5 untuk mendapatkan array byte 128-bit. Kemudian, encode array byte tersebut dalam Base64. String yang dihasilkan merupakan nilai bidang Content-MD5.

Elemen permintaan

Nama

Tipe

Wajib

Contoh

Deskripsi

Delete

Container

Ya

N/A

Container untuk permintaan DeleteMultipleObjects.

Node anak: satu atau lebih elemen Object dan elemen Quiet

Node induk: None

Object

Container

Ya

N/A

Container untuk informasi tentang suatu objek.

Node anak: Key

Node induk: Delete

Key

String

Ya

test.jpg

Nama objek yang akan dihapus.

Node induk: Object

Quiet

Enumeration string

Tidak

false

Menentukan apakah akan mengaktifkan mode respons simple.

DeleteMultipleObjects menyediakan mode respons berikut:

  • Mode simple (quiet): OSS tidak mengembalikan isi pesan.

  • Mode rinci (verbose): Isi pesan yang dikembalikan oleh OSS berisi hasil untuk semua objek yang dihapus. Mode verbose digunakan secara default.

Nilai yang valid: true (mengaktifkan mode simple) dan false (mengaktifkan mode verbose)

Nilai default: false

Node induk: Delete

VersionId

String

Tidak

CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4****

Nomor versi objek yang akan dihapus.

Node induk: Object

Elemen respons

Nama

Tipe

Contoh

Deskripsi

DeleteResult

Container

N/A

Container untuk hasil permintaan DeleteMultipleObjects.

Node anak: Deleted

Node induk: None

Deleted

Container

N/A

Container untuk objek yang berhasil dihapus.

Penting

Elemen respons Deleted hanya berisi objek yang berhasil dihapus. Elemen ini tidak berisi objek yang gagal dihapus. Untuk mendapatkan nama objek yang gagal dihapus, bandingkan daftar objek dalam permintaan dengan daftar objek dalam elemen `Deleted` pada respons.

Node anak: Key

Node induk: DeleteResult

Key

String

demo.jpg

Nama objek yang dihapus.

Node induk: Deleted

VersionId

String

version_20211101141621_d137

ID versi.

Node induk: Deleted

DeleteMarker

Boolean

true

Menunjukkan apakah versi tersebut merupakan penanda hapus. Nilai yang valid: true dan false.

Catatan

Elemen ini dikembalikan dengan nilai true hanya ketika penanda hapus dibuat atau penanda hapus dihapus secara permanen.

Node induk: Deleted

DeleteMarkerVersionId

String

THUQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****

ID versi dari penanda hapus.

Node induk: Deleted

EncodingType

String

url2

Tipe pengkodean yang digunakan untuk nama objek dalam respons. Jika Anda menentukan parameter Encoding-type dalam permintaan, OSS akan mengkodekan Key dalam respons.

Node induk: DeleteResult

Contoh

  • Contoh permintaan dengan mode respons simple dinonaktifkan

    POST /?delete HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Wed, 29 Feb 2012 12:26:16 GMT
    Content-Length:151
    Content-MD5: ohhnqLBJFiKkPSBO1eNaUA==
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <Delete> 
      <Quiet>false</Quiet>  
      <Object> 
        <Key>multipart.data</Key> 
      </Object>  
      <Object> 
        <Key>test.jpg</Key> 
      </Object>  
      <Object> 
        <Key>demo.jpg</Key> 
      </Object> 
    </Delete>

    Contoh respons

    HTTP/1.1 200 OK
    x-oss-request-id: 78320852-7eee-b697-75e1-b6db0f4849e7
    Date: Wed, 29 Feb 2012 12:26:16 GMT
    Content-Length: 244
    Content-Type: application/xml
    Connection: keep-alive
    Server: AliyunOSS
    
    <?xml version="1.0" encoding="UTF-8"?>
    <DeleteResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”>
        <Deleted>
           <Key>multipart.data</Key>
        </Deleted>
        <Deleted>
           <Key>test.jpg</Key>
        </Deleted>
        <Deleted>
           <Key>demo.jpg</Key>
        </Deleted>
    </DeleteResult>
  • Contoh permintaan dengan mode respons simple diaktifkan

    POST /?delete HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Wed, 29 Feb 2012 12:33:45 GMT
    Content-Length:151
    Content-MD5: ohhnqLBJFiKkPSBO1eNaUA==
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <Delete> 
      <Quiet>true</Quiet>  
      <Object> 
        <Key>multipart.data</Key> 
      </Object>  
      <Object> 
        <Key>test.jpg</Key> 
      </Object>  
      <Object> 
        <Key>demo.jpg</Key> 
      </Object> 
    </Delete>

    Contoh respons

    HTTP/1.1 200 OK
    x-oss-request-id: 559CC9BDC755F95A64485981
    Date: Wed, 29 Feb 2012 12:33:45 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS
  • Contoh permintaan untuk memanggil operasi DeleteMultipleObjects tanpa menentukan ID versi

    POST /?delete HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 04:20:03 GMT
    Content-MD5: xSLOYWaPC86RPwWXNiFeXg==
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <Delete> 
      <Quiet>false</Quiet>  
      <Object> 
        <Key>multipart.data</Key>
      </Object>  
      <Object> 
        <Key>test.jpg</Key> 
      </Object>
    </Delete>

    Contoh respons

    Pada contoh berikut, ID versi dari dua objek yang akan dihapus (multipart.dat dan test.jpg) tidak ditentukan. Oleh karena itu, OSS memasukkan penanda hapus untuk kedua objek tersebut dan mengembalikan <DeleteMarker>true</DeleteMarker> dan <DeleteMarkerVersionId>XXXXXX</DeleteMarkerVersionId>.

    HTTP/1.1 200 OK
    x-oss-request-id: 5CAC1D73B7AEADE01700****
    Date: Tue, 09 Apr 2019 04:20:03 GMT
    Content-Type: application/xml
    Connection: keep-alive
    Server: AliyunOSS
    
    <?xml version="1.0" encoding="UTF-8"?>
    <DeleteResult>
        <Deleted>
           <Key>multipart.data</Key>
           <DeleteMarker>true</DeleteMarker>
           <DeleteMarkerVersionId>CAEQMhiBgIDXiaaB0BYiIGQzYmRkZGUxMTM1ZDRjOTZhNjk4YjRjMTAyZjhl****</DeleteMarkerVersionId>
        </Deleted>
        <Deleted>
           <Key>test.jpg</Key>
           <DeleteMarker>true</DeleteMarker>
           <DeleteMarkerVersionId>CAEQMhiBgIDB3aWB0BYiIGUzYTA3YzliMzVmNzRkZGM5NjllYTVlMjYyYWEy****</DeleteMarkerVersionId>
        </Deleted>
    </DeleteResult>
  • Contoh permintaan untuk menghapus versi tertentu dari suatu objek dengan menentukan ID versi

    Catatan

    Anda harus menentukan Key dan VersionId.

    POST /?delete HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 06:09:34 GMT
    Content-Length:151
    Content-MD5: 2Tpk+dL/tGyuSA+YCEuSVg==
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <Delete> 
      <Quiet>false</Quiet>  
      <Object> 
        <Key>multipart.data</Key>
        <VersionId>CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA8****</VersionId>
      </Object>
    </Delete>

    Contoh respons

    Contoh berikut menunjukkan bahwa kunci dan ID versi objek yang dihapus dikembalikan.

    HTTP/1.1 200 OK
    x-oss-request-id: 5CAC371EB7AEADE01700****
    Date: Tue, 09 Apr 2019 06:09:34 GMT
    Content-Length: 244
    Content-Type: application/xml
    Connection: keep-alive
    Server: AliyunOSS
    
    <?xml version="1.0" encoding="UTF-8"?>
    <DeleteResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”>
        <Deleted>
           <Key>multipart.data</Key>
           <VersionId>CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA8****</VersionId>
        </Deleted>
    </DeleteResult>
  • Contoh permintaan untuk menghapus penanda hapus dengan menentukan ID versi

    POST /?delete HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 06:14:50 GMT
    Content-Length: 178
    Content-MD5: dX9IFePFgYhmINvAhG30Bg==
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <Delete> 
      <Quiet>false</Quiet>  
      <Object> 
        <Key>multipart.data</Key>
        <VersionId>CAEQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****</VersionId>
      </Object>
    </Delete>

    Contoh respons

    • Key dan VersionId yang dikembalikan merepresentasikan kunci dan ID versi objek yang dihapus.

    • Elemen DeleteMarker dan DeleteMarkerVersionId menunjukkan bahwa item yang dihapus merupakan penanda hapus dan ID versi yang sesuai. Dalam kasus ini, nilai VersionId dan DeleteMarkerVersionId sama, dan elemen DeleteMarker serta DeleteMarkerVersionId dikembalikan bersamaan.

    HTTP/1.1 200 OK
    x-oss-request-id: 5CAC385AB7AEADE01700****
    Date: Tue, 09 Apr 2019 06:14:50 GMT
    Content-Length: 364
    Content-Type: application/xml
    Connection: keep-alive
    Server: AliyunOSS
    
    <?xml version="1.0" encoding="UTF-8"?>
    <DeleteResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”>
        <Deleted>
           <Key>demo.jpg</Key>
           <VersionId>CAEQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****</VersionId>
           <DeleteMarker>true</DeleteMarker>
           <DeleteMarkerVersionId>THUQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk****</DeleteMarkerVersionId>
        </Deleted>
    </DeleteResult>

SDK

SDK untuk operasi DeleteMultipleObjects tersedia dalam bahasa pemrograman berikut:

Alat baris perintah ossutil

Untuk informasi tentang perintah ossutil untuk operasi DeleteMultipleObjects, lihat delete-multiple-objects.

Referensi

  • Untuk menghapus satu file, lihat DeleteObject.

  • Untuk informasi tentang cara menghapus objek secara otomatis, lihat Lifecycle.

Kode error

Kode error

Kode status HTTP

Deskripsi

InvalidDigest

400

Setelah Anda menentukan header permintaan Content-MD5, OSS menghitung nilai Content-MD5 dari isi pesan dan memeriksa apakah nilainya konsisten dengan nilai header permintaan Content-MD5. Jika nilainya tidak konsisten, error ini dikembalikan.

MalformedXML

400

  • Isi pesan tidak boleh melebihi ukuran 2 MB. Jika melebihi, error ini dikembalikan.

  • Anda dapat menghapus maksimal 1.000 objek dalam satu permintaan DeleteMultipleObjects. Jika Anda menentukan lebih dari 1.000 objek dalam satu permintaan, error ini dikembalikan.

FileImmutable

409

Error ini dikembalikan jika Anda mencoba menghapus atau mengubah data dalam bucket yang sedang dalam perlindungan.