使用aws或boto删除Amazon S3多个对象

use*_*547 3 python boto amazon-web-services

我想尝试amazone功能 删除多个对象,但使用boto或aws.

我如何使用boto或aws进行POST请求?以下是我想尝试的东西:

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>           
Run Code Online (Sandbox Code Playgroud)

干杯

gar*_*aat 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)
Run Code Online (Sandbox Code Playgroud)

结果将提供有关哪些删除操作成功以及哪些删除操作失败的信息.如果你想Quiet告诉你只有失败的方式,传递quiet=Truedelete_keys电话.