我有一个gcs文件层次结构,在我的存储桶下有一些目录,每个目录都有大量文件。我想查询我的存储桶并返回所有目录。
我目前在appengine之外,所以我使用的是google-api-services-storage
sdk,但似乎list
查询正在返回每个叶子文件。正如我在开始时所说的那样,我的目录号码相当小,但每个目录中的文件数量都很大,我真的希望在列表时我不需要触摸每个目录中的内容。
(通过说,我知道gcs中实际上没有"目录"只是简单的文件对象具有不同的命名层次结构但在appengine
它允许gcs客户端设置是否递归地执行列表,并且查询执行速度非常快。我想知道在appengine
我在document上搜索但是它似乎没有我可以配置查询的相关参数?
答案 0 :(得分:3)
AE gcs客户端正在使用分隔符和前缀选项(来自您提到的document,虽然它使用XML API)来模拟非递归文件夹列表。
您可以通过将前缀设置为"文件夹"的路径来实现这一点。列出分隔符并将分隔符设置为' /' (或者你的路径分隔符)。
此外,我建议您查看gcloud-java-storage以获取更易于使用的非特定于AE的API。