Eic*_*ich 9 java google-app-engine google-cloud-storage
是否有可能使用GAE SDK列出我的Google云端存储分区上的所有文件?我知道Python SDK支持这样的功能,但我在Java SDK中找不到类似的功能.
如果不可用,是否会在Java SDK的未来版本中添加?
Ian*_*Ian 11
您也可以使用Google Java客户端库(替换Google云端存储API)执行此操作
GcsService gcsService = GcsServiceFactory.createGcsService(RetryParams.getDefaultInstance());
AppIdentityService appIdentity = AppIdentityServiceFactory.getAppIdentityService();
ListResult result = gcsService.list(appIdentity.getDefaultGcsBucketName(), ListOptions.DEFAULT);
while (result.hasNext()){
ListItem l = result.next();
String name = l.getName();
System.out.println("Name: " + name);
}
Run Code Online (Sandbox Code Playgroud)
如果您只想迭代某个"目录",请使用ListOptions构建器
ListOptions.Builder b = new ListOptions.Builder();
b.setRecursive(true);
b.setPrefix("directory");
...
ListResult result = gcsService.list(appIdentity.getDefaultGcsBucketName(), b.build());
...
Run Code Online (Sandbox Code Playgroud)
您可以通过其客户端库使用Cloud Storage JSON API .设置完凭据后,您可以像这样拨打电话:
Storage storage = new Storage(httpTransport, jsonFactory, credential);
ObjectsList list = storage.objects().list("bucket-name").execute();
for (Object obj : list.getItems()) {
//...
}
Run Code Online (Sandbox Code Playgroud)
AppIdentityCredential在这种情况下,您可能也想使用a ,这将允许存储桶由您的应用程序拥有,而不是由用户拥有.
| 归档时间: |
|
| 查看次数: |
4503 次 |
| 最近记录: |