【问题标题】:Uploading to nested buckets in google cloud storage上传到谷歌云存储中的嵌套存储桶
【发布时间】:2016-12-16 15:28:21
【问题描述】:

在谷歌云存储中,我在一个名为 images 的根存储桶中有一个名为猫的存储桶。我使用 google-api-ruby-client gem 上传文件。我能够将文件上传到根存储桶“images”,但上传到“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。如果我只使用“图像”作为存储桶的值,则该代码有效。

我怎样才能使嵌套桶的上传工作也有效?

谢谢

【问题讨论】:

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


    【解决方案1】:

    Google Cloud Storage 没有真正的目录 - 它有一个平面命名空间。您可以通过在对象名称中使用“/”字符以及在列出存储桶时使用前缀和分隔符查询来部分模拟目录。

    您看到的问题是由于存储桶名称不能包含“/”这一事实引起的。尝试使用以“cats/”开头的存储桶“images”和对象名称。

    【讨论】:

    • 这个答案帮助我使用 Node.js 客户端对文件执行下载。
    猜你喜欢
    • 2015-03-01
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 2016-01-31
    相关资源
    最近更新 更多