上传到谷歌云存储中的嵌套存储桶

时间:2016-08-10 10:00:52

标签: ruby google-cloud-storage google-api-client

在谷歌云存储中,我在名为images的根存储桶中有一个名为cats的存储桶。我使用google-api-ruby-client gem上传文件。我可以将文件上传到根存储桶'图像'但上传到' images / cats'不起作用。我知道谷歌云存储中的存储桶没有斜线的概念,所以我无法弄清楚如何指定嵌套存储桶的名称。

result = client.execute(
  api_method: api.objects.insert,
  media: media,
  parameters: {
    uploadType: 'resumable',
    bucket: 'images/cats',  #This does not work !. Just images works.
    name: 'kitty.jpeg',
  },
  body_object: {contentType: 'image/jpeg'}
)

这是错误NoMethodError: undefined method query_values for nil:NilClass。如果我只是使用'图像'对于桶的价值。

如何使嵌入式存储桶的上传工作?

由于

1 个答案:

答案 0 :(得分:3)

Google云端存储没有真正的目录 - 它有一个扁平的命名空间。您可以使用" /"来部分模拟目录。对象名称中的字符,列出存储桶时使用前缀和分隔符查询。

您看到的问题是由于存储桶名称不能包含" /"而引起的。尝试使用桶"图像"以及#34; cats /"。

开头的对象名称
相关问题