簡體   English   中英

如何獲取Rackspace Cloud對象標頭

[英]How to get Rackspace Cloud object header

我正在嘗試update我已上傳的一些Rackspace對象的標頭數據。 標頭attribute示例如下: X-Object-Meta-name

但是要做到這一點,目前我需要下載整個object並從下載的對象中parse header 然后進行一些檢查並在必要時進行更新,然后再次上傳對象。 但這會使更新過程非常緩慢。

有沒有辦法只下載objectheader部分並單獨更新? 提前致謝!

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

如果使用“名稱”->“已更新的標頭值”為其提供映射,則它應更新標頭並自動添加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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM