如何解决Google Cloud Storage JSON REST API - 在存储桶的子目录中插入和列出对象
我想弄清楚如何: a) 在 Google Cloud Storage 上的子目录中存储/插入对象 b) 列出给定子目录的内容
我设法解决了如何在此处获取对象:Google Cloud Storage JSON REST API - Get object held in a sub-directory
然而,同样的逻辑似乎不适用于这些其他类型的呼叫。
对于商店,这有效:
但它随后将 GCS 上的文件名存储为 foldername_filename,这不会改变功能但并不理想。
要列出存储桶中的对象,不确定嵌套目录的语法应放在何处:storage.googleapis.com/storage/v1/b/bucketname/o。
非常感谢任何见解。
解决方法
首先要知道的是 GCS 没有目录或文件夹。它只有共享固定前缀的对象。 gsutil 和用户界面都使用了一些功能来制造文件夹确实存在的错觉。
https://cloud.google.com/storage/docs/gsutil/addlhelp/HowSubdirectoriesWork
顺便说一下:要创建带有前缀的对象,您需要对对象名称进行 URL 编码,因为我记得 %2F
是 /
的编码:
https://cloud.google.com/storage/docs/request-endpoints#encoding
最后只列出具有公共前缀的对象,您将使用 prefix
参数:
https://cloud.google.com/storage/docs/json_api/v1/objects/list#parameters
使用prefix=foo/bar/baz
(编码后)会列出foo/bar/baz
“文件夹”中的所有对象,注意这是递归的,它会在结果中包含foo/bar/baz/quux/object-name
。要停在某个级别,您还想了解 delimiter
参数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。