上传到 google 云存储中的嵌套存储桶
Uploading to nested buckets in google cloud storage
在 google 云存储中,我在名为 images 的根存储桶中有一个名为 cats 的存储桶。我正在使用 google-api-ruby-客户端 gem 上传文件。我可以将文件上传到根存储桶 'images',但上传到 'images/cats' 不起作用。我知道 google 云存储中的存储桶没有斜杠的概念,所以我不知道如何指定嵌套存储桶的名称。
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
。如果我只使用 'images' 作为桶的值,代码就可以工作。
我怎样才能让嵌套存储桶也能上传?
谢谢
Google Cloud Storage 没有真正的目录 - 它有一个平面命名空间。您可以通过在对象名称中使用“/”字符并在列出存储桶时使用前缀和分隔符查询来部分模拟目录。
您看到的问题是由存储桶名称不能包含“/”这一事实引起的。尝试改用存储桶 "images" 和以 "cats/".
开头的对象名称
在 google 云存储中,我在名为 images 的根存储桶中有一个名为 cats 的存储桶。我正在使用 google-api-ruby-客户端 gem 上传文件。我可以将文件上传到根存储桶 'images',但上传到 'images/cats' 不起作用。我知道 google 云存储中的存储桶没有斜杠的概念,所以我不知道如何指定嵌套存储桶的名称。
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
。如果我只使用 'images' 作为桶的值,代码就可以工作。
我怎样才能让嵌套存储桶也能上传?
谢谢
Google Cloud Storage 没有真正的目录 - 它有一个平面命名空间。您可以通过在对象名称中使用“/”字符并在列出存储桶时使用前缀和分隔符查询来部分模拟目录。
您看到的问题是由存储桶名称不能包含“/”这一事实引起的。尝试改用存储桶 "images" 和以 "cats/".
开头的对象名称