使用bucket.getFiles()
可以获取存储桶中的所有文件。
我的存储桶有数千个文件,我真的只想获取特定文件夹中文件的元数据。
documentation尚不清楚如何从文件夹中获取文件。显然it is possible to limit the results GetFilesRequest
,但没有一个选项包含路径或文件夹,至少没有明确说明。
答案 0 :(得分:6)
Google云端存储没有文件夹/子目录。这是平面命名空间之上的错觉。即你所看到的子目录实际上是名称中带有“/”字符的对象。
您可以通过以下链接详细了解Google云存储子目录的工作原理https://cloud.google.com/storage/docs/gsutil/addlhelp/HowSubdirectoriesWork
因此,通过将prefix
GetFilesRequest
参数设置为您感兴趣的子目录名称,将返回您要查找的对象。
答案 1 :(得分:2)
可以在选项中指定所需路径的前缀,例如
async function readFiles () {
const [files] = await bucket.getFiles({ prefix: 'users/user42'});
console.log('Files:');
files.forEach(file => {
console.log(file.name);
});
};
此示例为最后一个示例: https://cloud.google.com/nodejs/docs/reference/storage/2.3.x/Bucket#getFiles
可悲的是,关于方法的可能选项的信息很少。希望文档团队会尽快进行更改。