1

Google ストレージ オブジェクトにメタデータ データの機能を追加しようとしています。メタデータを追加することはできますが、メタデータを更新している間 (値を変更し、既存のメタデータを削除する)、問題に直面しています。

mydata.txt のようなファイルをアップロードすると、正常にアップロードされた後、次のメタデータのデフォルトがありました -

{ETag="0b1c673f22f98d9862a8198741f0d364",
 hash=md5=CxxnPyL5jZhiqBmHQfDTZA==,
 Content-Length=85515,
 Expires=Fri, 23 Aug 2013 10:08:56 GMT,
 Last-Modified=Thu Aug 22 15:27:58 IST 2013,
 **stored-content-encoding=identity**,
 Cache-Control=private,
 max-age=0,
 Date=Fri Aug 23 15:38:56 IST 2013,
 metageneration=1,
 stored-content-length=85515,
 generation=1377165478501000,
 Content-Type=plain/txt}

ケース A: Content-Encoding=utf8 を追加すると、正常に更新され、メタデータ リストに表示されます。

しかし、更新しようとしているメタデータ リストから「Content-Encoding」メタデータ ヘッダーを削除して、これを削除しようとしたとき。メタデータは正常に更新されましたが、メタデータの詳細に Content-Encoding ヘッダーが表示されています。

バケットにオブジェクトの新しいコピーをアップロードすると、Google Storage がデフォルトのメタデータをサポートしていることがわかりました。新しいファイルに追加していないメタデータ リストに、 stored-content-encoding=identityが表示されました。

オブジェクトに追加した場合、Content-Encodingを一度削除するにはどうすればよいですか。

ケース B: gzip値で Content-Encoding を 追加すると、Content-Encoding が追加されません。

参照: https://developers.google.com/storage/docs/reference-headers#contentencoding

4

2 に答える 2

2

あなたの質問は完全に明確ではありません (そもそもメタデータをどのようにアップロードまたは設定しますか? 正常に更新されたと言いましたが、それでも失敗しますか?)、私はそれに答えようとします。

ケース A:メタデータ エントリの削除を妨げるバグが実際に存在Content-Encodingします。これが表示されている可能性があります。現在対応中ですので、決まり次第こちらで更新いたします。編集:これは修正されました。

ケース B:特定のリクエストに対して送信されたコンテンツのエンコーディングは、実際にはリクエストごとにネゴシエートされることに注意してください (たとえば、ルート上のプロキシ サーバーによって変更される可能性があります)。Accept-Encoding: gzip特に、オブジェクトの保存された gzip エンコーディングは、クライアントの要求にヘッダーが含まれていない場合、サーバーによって削除される可能性があります (つまり、オブジェクトが解凍されます) 。x-goog-stored-content-encodingヘッダーは、Google Cloud Storage に保存されているコンテンツのエンコードを示します。この場合、まだ gzip を報告していると思います。

于 2013-08-27T21:39:03.947 に答える
0

私の場合、Content-Encoding: gzip前述のケース B が再現されたときに、PNG/JPG 画像に追加しようとしていました。

Google Cloud Storage は、クライアント側で画像を解凍できないほどスマートだったと思いContent-Encoding: gzipますx-goog-stored-content-encoding: gzip

実際には、画像は gzip されることを意図していません( 123 ) - 実際にはそれ自体が最適化されています( 12 )

于 2016-03-14T19:23:54.623 に答える