如何获取Rackspace Cloud对象标头

时间:2015-04-20 15:08:05

标签: java rackspace-cloud rackspace-cloudfiles

我正在尝试update我上传的一些Rackspace个对象的标题数据。标题attribute示例如:X-Object-Meta-name

但要做到这一点,目前我需要从下载的对象中下载整个objectparse header。然后根据需要进行一些检查和更新,然后再次上传对象。但这使得更新过程非常缓慢。

有没有办法只下载header的{​​{1}}部分并单独更新?提前谢谢!

2 个答案:

答案 0 :(得分:0)

https://github.com/jclouds/jclouds/blob/master/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/features/ObjectApi.java#L207

如果你给它一个带有“name”的地图 - >“更新的标题值”,它应该更新标题并自动添加x-object-meta-前缀。

答案 1 :(得分:0)

  

有没有办法只下载一个对象的标题部分并单独更新它?

我不是Java开发人员,但Cloud Files API是RESTful的,因此我将使用curl提供示例。如果您正在使用库,那么您可能想要编辑您的问题以包括哪个库,因为其中许多库抽象了这些操作,并且可能在该库的上下文中提供更好的答案。

要下载没有对象内容的标头,请执行HTTP HEAD请求。

$ curl -I -XHEAD -H'X-Auth-Token:******' \
> https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_******/container/object
HTTP/1.1 200 OK
Content-Length: 400
Accept-Ranges: bytes
Last-Modified: Tue, 21 Apr 2015 12:06:23 GMT
Etag: 81dc9bdb52d04dc20036dbd8313ed055
X-Timestamp: 1429617982.70468
X-Object-Meta-Foo: Bar
Content-Type: text/html
X-Trans-Id: txd337e4634c98475baf1a4-0055363d42dfw1
Date: Tue, 21 Apr 2015 12:06:26 GMT

要仅更新对象上的标题,您可以执行HTTP POST请求。

$ curl -i -XPOST -H'X-Auth-Token:******' \
> -H'X-Object-Meta-Foo: Bar' \
> -H'X-Object-Meta-Foo2: Bar2' \
> https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_******/container/object
HTTP/1.1 202 Accepted
Content-Length: 76
Content-Type: text/html; charset=UTF-8
X-Trans-Id: txc262dfe86727440cbfcb1-0055363d5cdfw1
Date: Tue, 21 Apr 2015 12:06:53 GMT

<html><h1>Accepted</h1><p>The request is accepted for processing.</p></html>

执行另一个HEAD requeset将显示两个标头现在都存在。

$ curl -I -XHEAD -H'X-Auth-Token:******' \
> https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_******/container/object
HTTP/1.1 200 OK
Content-Length: 400
Accept-Ranges: bytes
Last-Modified: Tue, 21 Apr 2015 12:06:53 GMT
Etag: 81dc9bdb52d04dc20036dbd8313ed055
X-Timestamp: 1429618012.98354
X-Object-Meta-Foo: Bar
X-Object-Meta-Foo2: Bar2
Content-Type: text/html
X-Trans-Id: txdd9365b54e8f4d8c8451d-0055363d6adfw1
Date: Tue, 21 Apr 2015 12:07:06 GMT