[英]Rackspace Cloud Files (using jclouds) - how to get container location
[英]How to get Rackspace Cloud object header
我正在嘗試update
我已上傳的一些Rackspace
對象的標頭數據。 標頭attribute
示例如下: X-Object-Meta-name
但是要做到這一點,目前我需要下載整個object
並從下載的對象中parse
header
。 然后進行一些檢查並在必要時進行更新,然后再次上傳對象。 但這會使更新過程非常緩慢。
有沒有辦法只下載object
的header
部分並單獨更新? 提前致謝!
如果使用“名稱”->“已更新的標頭值”為其提供映射,則它應更新標頭並自動添加x-object-meta-前綴。
有沒有辦法只下載對象的標題部分並單獨更新?
我不是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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.