【问题标题】:Amazon S3 multiple object delete using aws or boto使用 aws 或 boto 删除 Amazon S3 多个对象
【发布时间】:2015-03-19 21:19:35
【问题描述】:

我想尝试亚马逊功能 delete multiple object 但使用 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>           

干杯

【问题讨论】:

    标签: python amazon-web-services boto


    【解决方案1】:

    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 调用。

    【讨论】:

    • 是使用多重删除功能还是使用 for 循环?
    • boto中的delete_keys方法使用了S3的MultiDelete特性。
    • Boto3 这个答案有更新吗?
    猜你喜欢
    • 2014-01-09
    • 2015-04-09
    • 1970-01-01
    • 2012-07-10
    • 2018-12-25
    • 2013-08-23
    • 1970-01-01
    • 1970-01-01
    • 2014-04-16
    相关资源
    最近更新 更多