GCP存储 - 如何在可恢复上传中设置自定义元数据?

时间:2016-11-02 16:14:06

标签: google-cloud-storage google-cloud-platform

我正在使用Storage JSON api。

编辑更具体:

当我:

POST https://www.googleapis.com/upload/storage/v1/b/myBucket/o?uploadType=resumable HTTP/1.1
Authorization: Bearer [MY_AUTH_TOKEN]
Content-Length: 38
Content-Type: application/json; charset=UTF-8
X-Upload-Content-Type: image/jpeg
X-Upload-Content-Length: 2000000

{ "name": "myObject", "foo":  "bar" }

然后只设置了文件的名称,我希望在"foo" : "bar"字段中看到metadata

documentation

(1)

  

媒体的/ upload URI。 / upload端点的格式是   带有/ upload前缀的标准资源URI。使用此URI时   传输媒体数据本身。示例:POST   /上传/存储/ V1 / B / myBucket / O。

(2)

  

元数据的标准资源URI。如果资源包含   任何数据字段,这些字段用于存储元数据描述   上传的文件。您可以在创建或更新时使用此URI   元数据值。示例:POST / storage / v1 / b / myBucket / o。

他们还说/upload(1)请求的一个例子:

  

如果您有该文件的元数据,请将元数据添加到请求中   JSON格式的正文。否则,请将请求正文留空。

那些矛盾。

尽管如此,将json正文发送到/upload:只设置'name'属性。

将相同的json正文发送到元数据请求会得到:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "wrongUrlForUpload",
    "message": "Upload requests must include an uploadType URL parameter and a URL path beginning with /upload/",
...

谢谢! :)

编辑:这主要是将该文件分配给它所属的任何人并验证哈希,我可以使用图像的name完全解决这个问题。

1 个答案:

答案 0 :(得分:3)

要通过JSON API在对象上传中设置自定义元数据,请使用以下类型的邮件正文:

{"name": "myObject", "metadata": {"foo": "bar"}}