Google Cloud BlobListOption仅在currentDir下迭代一个级别

我正在测试某些Cloud Storage功能,只是发现迭代方法仅适用于当前目录下的某个级别?

Page<Blob> blobs = STORAGE_INSTANCE.list(bucket,Storage.BlobListOption.currentDirectory(),Storage.BlobListOption.prefix(getBucketKey(GS_SCHEMA,prefix).concat(URI_DELIMITER)));

假设.prefix()收到的是/dir/,并且此前缀包含两个嵌套级别,例如/dir/content//dir/content/mycontent.txt

如果使用前面提到的/dir/执行该调用,则仅列出/dir/content/,但没有更多前缀。

因此,每当我要遍历/dir/下面的所有前缀时,无论我需要重复/dir/content/以便看到dir/content/mycontent.txt都是什么。

是否有简单的方法可以解决此问题,或者我没有正确使用API​​?

lj0122 回答:Google Cloud BlobListOption仅在currentDir下迭代一个级别

Storage.BlobListOption.currentDirectory()方法中删除list()参数。以下代码段设法为我显示了包含特定前缀的所有Blob:

Page<Blob> blobs = storage.list(bucketName,BlobListOption.prefix(prefix));
for (Blob blob : blobs.iterateAll()) {
    System.out.println(blob);
}
本文链接:https://www.f2er.com/3144897.html

大家都在问