2015-03-19 6 views
3

Я хотел бы попробовать amazone feature delete multiple object но используя boto or aws.Amazon S3 удаление нескольких объектов с помощью aws или boto

Как я могу получить сообщение POST с помощью boto или aws ?? Ниже вещи я хочу попробовать:

POST /?delete HTTP/1.1 
Host: bucketname.s3.amazonaws.com 
Authorization: authorization string 
Content-Length: Size 
Content-MD5: MD5 

<?xml version="1.0" encoding="UTF-8"?> 
<Delete> 
    <Quiet>true</Quiet> 
    <Object> 
     <Key>Key</Key> 
     <VersionId>VersionId</VersionId> 
    </Object> 
    <Object> 
     <Key>Key</Key> 
    </Object> 
    ... 
</Delete>   

Приветствия

ответ

5

Boto обеспечивает поддержку MultiDelete. Вот пример того, как вы могли бы использовать:

import boto.s3 
conn = boto.s3.connect_to_region('us-east-1') # or whatever region you want 
bucket = conn.get_bucket('mybucket') 
keys_to_delete = ['mykey1', 'mykey2', 'mykey3', 'mykey4'] 
result = bucket.delete_keys(keys_to_delete) 

Результат будет предоставлять информацию о том, какие операции удаления были успешными, а какие, если таковые имеются, не удалось. Если вам нужен режим Quiet, который сообщает вам только о сбоях, перейдите в quiet=True к вызову delete_keys.

+0

с помощью функций Multi delete или он делает это при использовании цикла for? – user2563547

+1

Метод '' delete_keys' в boto использует функцию MultiDelete для S3. – garnaat

Смежные вопросы