下面列出了怎么用com.amazonaws.services.s3.model.HeadBucketRequest的API类实例代码及写法,或者点击链接到github查看源代码。
/** Test whether the bucket exists and is accessible. */
public static boolean bucketExists(AmazonS3 client, String bucketName) {
try {
HeadBucketRequest request = new HeadBucketRequest(bucketName);
HeadBucketResult result = client.headBucket(request);
return true;
}
catch (AmazonServiceException awsEx) {
switch (awsEx.getStatusCode()) {
case HttpSC.NOT_FOUND_404 :
return false;
case HttpSC.FORBIDDEN_403 :
break;
case HttpSC.MOVED_PERMANENTLY_301 : { // Moved permanently.
System.err.println("301 Location: " + awsEx.getHttpHeaders().get(HttpNames.hLocation));
break;
}
}
throw awsEx;
}
}
@Test
public void testContainerExists() throws Exception {
client.headBucket(new HeadBucketRequest(containerName));
try {
client.headBucket(new HeadBucketRequest(
createRandomContainerName()));
Fail.failBecauseExceptionWasNotThrown(AmazonS3Exception.class);
} catch (AmazonS3Exception e) {
assertThat(e.getErrorCode()).isEqualTo("404 Not Found");
}
}
@Test
public void testContainerDelete() throws Exception {
client.headBucket(new HeadBucketRequest(containerName));
client.deleteBucket(containerName);
try {
client.headBucket(new HeadBucketRequest(containerName));
Fail.failBecauseExceptionWasNotThrown(AmazonS3Exception.class);
} catch (AmazonS3Exception e) {
assertThat(e.getErrorCode()).isEqualTo("404 Not Found");
}
}
@SuppressWarnings("unchecked")
public static void createBucket(AmazonS3Client client, String bucketName) throws Exception {
client.createBucket(bucketName);
HeadBucketRequest request = new HeadBucketRequest(bucketName);
Waiter<HeadBucketRequest> waiter = client.waiters().bucketExists();
Future<Void> future = waiter.runAsync(new WaiterParameters<HeadBucketRequest>(request), new NoOpWaiterHandler());
future.get(1, TimeUnit.MINUTES);
}
/** Unsupported Operation. */
@Override public HeadBucketResult headBucket(HeadBucketRequest headBucketReq) throws SdkClientException {
throw new UnsupportedOperationException("Operation not supported");
}