1

オブジェクトで「世代」(バージョン番号) を指定するときに、Google Cloud Storage (GCS) の GET リクエストに署名するのに問題があります。生成なしで URL に署名することは魅力のように機能し、GET 要求は正常に機能します。ただし、パスの先頭に #generation を追加すると、署名付き URL を取得しようとすると、GCS サーバーは常に「アクセスが拒否されました」を返します。

たとえば、次の URL パスに署名すると問題なく動作します。

https://storage.googleapis.com/BUCKET/OBJECT

この URL パスに署名すると、アクセスが拒否されます。

https://storage.googleapis.com/BUCKET/OBJECT#1360887697105000

簡潔さとプライバシーのために、Signature、Expires、GoogleAccessId パラメーターを含む実際の署名付き URL は省略していることに注意してください。また、gsutil を使用して、バケット、オブジェクト、世代が正しいことも確認しました。

GCS では、「世代」番号による特定のオブジェクト バージョンへの署名付き URL アクセスが許可されますか? 特定のバージョンにアクセスする場合、URL 署名手順は異なりますか?

4

1 に答える 1

1

使用しているURLはgsutil互換ですが、XML APIでは、クエリパラメーターを使用して生成を示す必要があります(storage.googleapis.com/bucket/object?generation=1360887697105000)。

ドキュメントは参照用にここにあります: developers.google.com/storage/docs/reference-headers#generation

于 2014-01-15T17:22:54.943 に答える