无法让gcs为上传的对象返回md5hash和crc32c

时间:2019-12-12 17:28:01

标签: python google-cloud-storage metadata md5

我有一个Python程序,该程序使用Google的可恢复上传协议上传文件。上载工作正常,但是当我尝试遵循Google的建议,即在上载后请求文件的元数据以便将服务器生成的md5hash与上载期间生成的哈希进行比较时,我的GET请求返回的对象元数据json blob没有校验和领域。

我在gcs文档中找到了一个参考,该参考表明我必须发送一些特殊的加密标头才能将这些服务器生成的校验和字段返回到我的元数据GET请求中,但是文档并未说明哪个标头必须包括在内-坦白地说-我还是不使用加密,所以我不知道应该发送什么标头:

https://cloud.google.com/storage/docs/json_api/v1/objects/get(第3段)

有趣的是,谷歌游乐场(可通过上面的链接访问)使我可以使用oauth访问其存储桶,从其Web界面发出对象请求-我可以获取此请求以返回带有哈希字段的完整对象元数据。但是操场上并没有指示(不幸的)发送的全套请求标头,所以我什至不能用它来查看我应该发送的内容。

问题:让Google在查询对象元数据时返回校验和字段的诀窍是什么?

1 个答案:

答案 0 :(得分:3)

要获取对象的资源表示形式(元数据),请指定路径参数alt=json

示例:

GET https://storage.googleapis.com/storage/v1/b/bucket/o/object?alt=json

注意:这是默认情况。您确实需要处理返回的JSON数据以提取md5Hash键/值。

Google Cloud对象资源:

https://cloud.google.com/storage/docs/json_api/v1/objects