0

アップロードしたupdateいくつかのオブジェクトのデータをヘッダー化しようとしています。Rackspaceヘッダーの例attribute:X-Object-Meta-name

しかし、それを行うには、現在、ダウンロードしたオブジェクトから全体objectをダウンロードする必要があります。次に、必要に応じてチェックと更新を行い、オブジェクトを再度アップロードします。しかし、これにより更新プロセスが非常に遅くなります。parseheader

headerの一部だけをダウンロードしobjectて単独で更新する方法はありますか? 前もって感謝します!

4

2 に答える 2

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 リクエストを実行すると、両方のヘッダーが存在することが示されます。

$ 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
于 2015-04-21T12:22:19.647 に答える