1

我想获取亚马逊 s3 存储桶的元数据/标头列表?

我可以在 OpenStack Swift Storage 中获取元数据,如下所示 -> 请求元数据的 curl 命令:

curl -i http://localhost:8080/v1/AUTH_test/container1 -X HEAD -H "X-Auth-Token: AUTH_tk6194fghrt"

上述 curl 命令的响应:

HTTP/1.1 204 No Content
Content-Length: 0
X-Container-Object-Count: 6
Accept-Ranges: bytes
X-Trans-Id: tx0ff9f8541e2c4e019dea1-0053eb48a7
Date: Wed, 13 Aug 2014 11:14:47 GMT
X-Container-Meta-Century: Nineteenthsssssssssssss
X-Timestamp: 1399987571.97634
X-Container-Meta-Author: Mustafa
X-Container-Bytes-Used: 3978833
Content-Type: text/plain; charset=utf-8
X-Trans-Id: tx1c2734f1e4ca4f3e835da-0053eb497d

在 openstack swift 中,我可以使用 python-swiftclient API 获取 swift 容器(桶)的上述元数据。
我想为 AmazonS3 存储桶做同样的事情。那么,如何使用Python获取AmazonS3 存储桶的元数据?(我正在使用boto库) 是否有可能,或者我是否“空谈”?

更新:
我正在尝试获取存储桶的元数据而不是存储桶的键。

4

1 回答 1

2

你可以试试这个 boto 代码段:

from boto.s3.connection import S3Connection
conn = S3Connection('<aws access key>', '<aws secret key>')
mybucket = conn.get_bucket('mybucket')
for key in mybucket:
    key = mybucket.get_key(key.name)
    print key.name
    print key.get_metadata('revision')

您可以阅读有关 boto 的更多信息:https ://boto.readthedocs.org/en/latest/s3_tut.html

希望有帮助。

更新:

您可以尝试的其他方法:

resp = conn.make_request("HEAD", mybucket)
print resp.getheaders()

希望您在响应标头中看到一些您想要的元数据。

于 2014-08-13T13:13:26.310 回答