Tek bir istekle bir paketten birden fazla nesneyi siler.
Kullanım notları
Tek bir DeleteMultipleObjects isteğiyle en fazla 1.000 nesne silebilirsiniz.
Veri çoğaltma Sync Additions, Deletions, And Modifications seçeneğiyle yapılandırılmışsa, DeleteMultipleObjects hedef paketteki karşılık gelen nesneleri de siler. Silinen nesneler kurtarılamaz. Sürüm oluşturma etkinleştirilmişse, DeleteMultipleObjects her nesne için bir silme işaretçisi oluşturur ve bu işlem hedef pakete çoğaltılır.
Silinen nesneler kurtarılamaz. Dikkatli olun. Nesnelerin nasıl silineceği hakkında daha fazla bilgi için bkz. Nesne silme.
Sürüm Oluşturma
Sürüm oluşturma özelliği etkinleştirilmiş bir pakette, sürüm kimliği belirtilmediğinde DeleteMultipleObjects bir silme işaretçisi ekler. Bir sürüm kimliği belirtilirse, ilgili sürüm kalıcı olarak silinir.
İzinler
Varsayılan olarak bir Alibaba Cloud hesabının tüm izinleri vardır. Bir Alibaba Cloud hesabı altındaki RAM kullanıcıları veya RAM rollerinin varsayılan olarak hiçbir izni yoktur. Alibaba Cloud hesabı veya hesap yöneticisinin, RAM ilkeleri veya Paket İlkesi aracılığıyla işlem izinlerini vermesi gerekir.
|
|
|
|
|
|
|
|
İstek sözdizimi
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>
İstek üstbilgileri
OSS, silme işlemini gerçekleştirmeden önce ileti gövdesini doğrulamak için bu üstbilgileri kullanır.
|
Name |
Type |
Required |
Example |
Description |
|
Encoding-type |
String |
No |
url2 |
Nesne anahtarları için kodlama yöntemi. Bir anahtar XML 1.0 tarafından desteklenmeyen kontrol karakterleri içeriyorsa, bu değeri url2 olarak ayarlayın. OSS ardından yanıtta Key alanını URL kodlar. Varsayılan değer: none Geçerli değer: url2 |
|
Content-Length |
String |
Yes |
151 |
HTTP ileti gövdesinin uzunluğu. OSS, silmeden önce gövdeyi bu değere göre doğrular. |
|
Content-MD5 |
String |
Yes |
ohhnqLBJFiKkPSBO1eNaUA== |
İleti gövdesinin Base64 ile kodlanmış MD5 karma değeri. OSS bütünlüğü doğrulamak için bu değeri hesaplar ve karşılaştırır. Not
Bu değeri hesaplamak için: istek gövdesinin MD5 karmasını hesaplayarak 128 bitlik bir bayt dizisi elde edin, ardından bunu Base64 ile kodlayın. |
İstek öğeleri
|
Name |
Type |
Required |
Example |
Description |
|
Delete |
Container |
Yes |
N/A |
DeleteMultipleObjects isteği için kapsayıcı. Alt düğümler: bir veya daha fazla Object öğesi ve Quiet öğesi Üst düğüm: Yok |
|
Object |
Container |
Yes |
N/A |
Bir nesne hakkındaki bilgiler için kapsayıcı. Alt düğüm: Key Üst düğüm: Delete |
|
Key |
String |
Yes |
test.jpg |
Silinecek nesnenin adı. Üst düğüm: Object |
|
Quiet |
Enumeration string |
No |
false |
Yanıt modunu kontrol eder. Kullanılabilir yanıt modları:
Geçerli değerler: true (basit modu etkinleştirir) ve false (ayrıntılı modu etkinleştirir) Varsayılan değer: false Üst düğüm: Delete |
|
VersionId |
String |
No |
CAEQNRiBgIDyz.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4**** |
Silinecek nesnenin sürüm numarası. Üst düğüm: Object |
Yanıt öğeleri
|
Name |
Type |
Example |
Description |
|
DeleteResult |
Container |
N/A |
DeleteMultipleObjects isteğinin sonucu için kapsayıcı. Alt düğüm: Deleted Üst düğüm: Yok |
|
Deleted |
Container |
N/A |
Başarıyla silinen her nesne için kapsayıcı. Önemli
Deleted öğesi yalnızca başarıyla silinen nesneleri listeler. Başarısızlıkları belirlemek için istek listesini yanıtla karşılaştırın. Alt düğüm: Key Üst düğüm: DeleteResult |
|
Key |
String |
demo.jpg |
Silinen nesnenin adı. Üst düğüm: Deleted |
|
VersionId |
String |
version_20211101141621_d137 |
Sürüm kimliği. Üst düğüm: Deleted |
|
DeleteMarker |
Boolean |
true |
Silinen sürümün bir silme işaretçisi olup olmadığı. Geçerli değerler: true ve false. Not
Yalnızca bir silme işaretçisi oluşturulduğunda veya kalıcı olarak silindiğinde true olarak döndürülür. Üst düğüm: Deleted |
|
DeleteMarkerVersionId |
String |
THUQNRiBgICEoPiC0BYiIGMxZWJmYmMzYjE0OTQ0ZmZhYjgzNzkzYjc2NjZk**** |
Silme işaretçisinin sürüm kimliği. Üst düğüm: Deleted |
|
EncodingType |
String |
url2 |
Yanıttaki nesne adları için kodlama türü. Yalnızca istekte Encoding-type belirtildiğinde döndürülür. Üst düğüm: DeleteResult |
Örnekler
-
Basit yanıt modu devre dışı bırakıldığında örnek istek
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>Örnek yanıt
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> -
Basit yanıt modu etkinleştirildiğinde örnek istek
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>Örnek yanıt
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 -
Sürüm kimliği olmadan örnek istek
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>Örnek yanıt
Sürüm kimlikleri belirtilmediğinden, OSS her iki nesne için de silme işaretçileri ekler ve <DeleteMarker>true</DeleteMarker> ile <DeleteMarkerVersionId>XXXXXX</DeleteMarkerVersionId> değerlerini döndürür.
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> -
Sürüm kimliği içeren örnek istek
NotHem Key hem de VersionId değerlerini belirtmeniz gerekir.
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.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4****</VersionId> </Object> </Delete>Örnek yanıt
Aşağıdaki örnekte, silinen nesnenin anahtarı ve sürüm kimliğinin döndürüldüğü gösterilmektedir.
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.6C0BYiIGQ2NWEwNmVhNTA3ZTQ3MzM5ODliYjM1ZTdjYjA4****</VersionId> </Deleted> </DeleteResult> -
Bir sürüm kimliği belirterek bir silme işaretçisini silmek için örnek istek
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>Örnek yanıt
Key ve VersionId, silinen nesneyi tanımlar.
DeleteMarker ve DeleteMarkerVersionId öğeleri, silinen öğenin bir silme işaretçisi olduğunu doğrular. Bu durumda, VersionId ve DeleteMarkerVersionId aynı değere sahiptir.
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
DeleteMultipleObjects işlemini aşağıdaki SDK'ları kullanarak çağırabilirsiniz:
ossutil komut satırı aracı
İlgili ossutil komutu delete-multiple-objects şeklindedir.
Referanslar
Tek bir nesneyi silmek için DeleteObject kullanın.
Nesnelerin otomatik olarak nasıl silineceği hakkında bilgi için bkz. Yaşam döngüsü.
Hata kodları
|
Error code |
HTTP status code |
Description |
|
InvalidDigest |
400 |
OSS tarafından hesaplanan Content-MD5 değeri, Content-MD5 istek üstbilgisi değeriyle eşleşmiyor. |
|
MalformedXML |
400 |
|
|
FileImmutable |
409 |
Paket bir saklama ilkesiyle korunuyor. Korunan veriler silinemez veya değiştirilemez. |