Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何像Openstack Swift一样,在Python(Boto-lib)中获取AmazonS3存储桶的元数据/头?_Python_Amazon Web Services_Amazon S3_Boto_Openstack Swift - Fatal编程技术网

如何像Openstack Swift一样,在Python(Boto-lib)中获取AmazonS3存储桶的元数据/头?

如何像Openstack Swift一样,在Python(Boto-lib)中获取AmazonS3存储桶的元数据/头?,python,amazon-web-services,amazon-s3,boto,openstack-swift,Python,Amazon Web Services,Amazon S3,Boto,Openstack Swift,我想获取AmazonS3存储桶的元数据/头列表 我可以在OpenStack Swift存储中获取元数据,如下-> 请求元数据的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

我想获取AmazonS3存储桶的元数据/头列表

我可以在OpenStack Swift存储中获取元数据,如下-> 请求元数据的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容器(bucket)的上述元数据。
我想为AmazonS3 bucket做同样的事情。那么,如何使用Python获取AmazonS3 bucket的元数据呢?(我正在使用boto库)
可能吗,还是我在“吹毛求疵”

更新:

我正在尝试获取bucket的元数据,而不是bucket的键。

您可以尝试以下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')

希望您能在响应头中看到所需的一些元数据。

我正在使用这些代码从存储桶的键中获取元数据。但我在找水桶,不是我看到的钥匙。我对水桶本身不太确定。我已经用一些你可以尝试的东西更新了答案。
resp = conn.make_request("HEAD", mybucket)
print resp.getheaders()