google-cloud-platform - Google Cloud BlobListOption 仅迭代 currentDir 下一级
问题描述
我正在测试一些云存储功能,只是看到迭代方法仅适用于当前目录下的级别?
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?
解决方案
从方法中删除Storage.BlobListOption.currentDirectory()
参数list()
。以下代码片段成功地为我显示了包含特定前缀的所有 Blob:
Page<Blob> blobs = storage.list(bucketName, BlobListOption.prefix(prefix));
for (Blob blob : blobs.iterateAll()) {
System.out.println(blob);
}
推荐阅读
- sql - 获取状态更改的最小值和最大值
- java - Eclipse 内容辅助不显示方法描述
- docker - 如何访问 docker-compose 中的所有 nginx 日志?
- c# - Xamarin - 将用户名从登录绑定到工具栏项
- java - java序列化:-程序在writeObject()方法时终止
- r - Rgui 中的代码自动缩进
- ios - UIScrollView 的子视图在滚动视图高度的动画之后没有响应触摸
- apache-spark - 当我们直接从数据框中选择它们时,我们可以添加两列吗
- batch-file - 如何修复完整的注册表项批量删除
- reactjs - 未捕获的 ReferenceError:未定义翻译