即使我通过一个未存在桶名称由此我得到Bucket exist
我写了这个代码测试谷歌云存储桶是否存在?
private void doesBucketExist(String bucketName) {
try {
GoogleCredential credential = myUtil.getCredential();
JsonFactory jsonFactory = new JacksonFactory();
HttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
Storage.Builder storageBilder = new Storage.Builder(transport, jsonFactory, credential);
Storage storage = storageBilder.build();
Objects objects = storage.objects();
List listObjects = objects.list(bucketName);
if (listObjects != null && listObjects.getBucket().equalsIgnoreCase(bucketName)) {
System.out.println("Bucket exist");
} else {
System.out.println("Bucket does not exist");
}
} catch (Exception e) {
throw e;
}
}
这是给listObjects
。
我确实看到了this,但由于storage
与我在程序中使用的软件包不同,所以无法在我的代码中使用它。
如何确定指定的桶是否存在?
您如何知道您传递的存储桶名称不存在?您是否尝试在开发控制台中创建具有名称的存储桶并且它可用?请注意,存储桶命名空间是全局的并且是公开可见的,因此直到您可以或不可以创建该命名空间时才会知道它是否存在:p –
是的,用我自己的名称进行测试,随机数作为存储桶的名称,它仍然如同它已经存在一样。 – Extreme
您是否可以尝试在开发人员控制台中创建具有名称的存储桶(例如,您自己的名称和随机数)以查看它是否仍存在? –