diff --git a/other/java/s3copier/pom.xml b/other/java/s3copier/pom.xml index c3ff30932..0050c70da 100644 --- a/other/java/s3copier/pom.xml +++ b/other/java/s3copier/pom.xml @@ -5,6 +5,10 @@ copier jar 1.0-SNAPSHOT + + 18 + 18 + copier http://maven.apache.org diff --git a/other/java/s3copier/src/main/java/com/seaweedfs/s3/HighLevelMultipartUpload.java b/other/java/s3copier/src/main/java/com/seaweedfs/s3/HighLevelMultipartUpload.java index b86df95a0..06e623886 100644 --- a/other/java/s3copier/src/main/java/com/seaweedfs/s3/HighLevelMultipartUpload.java +++ b/other/java/s3copier/src/main/java/com/seaweedfs/s3/HighLevelMultipartUpload.java @@ -10,6 +10,8 @@ import com.amazonaws.client.builder.AwsClientBuilder; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; +import com.amazonaws.services.s3.model.CreateBucketRequest; +import com.amazonaws.services.s3.model.GetBucketLocationRequest; import com.amazonaws.services.s3.transfer.TransferManager; import com.amazonaws.services.s3.transfer.TransferManagerBuilder; import com.amazonaws.services.s3.transfer.Upload; @@ -42,6 +44,19 @@ public class HighLevelMultipartUpload { .withS3Client(s3Client) .build(); + + if (!s3Client.doesBucketExistV2(bucketName)) { + // Because the CreateBucketRequest object doesn't specify a region, the + // bucket is created in the region specified in the client. + s3Client.createBucket(new CreateBucketRequest(bucketName)); + + // Verify that the bucket was created by retrieving it and checking its location. + String bucketLocation = s3Client.getBucketLocation(new GetBucketLocationRequest(bucketName)); + System.out.println("Bucket location: " + bucketLocation); + } else { + System.out.println("Bucket already exists"); + } + // TransferManager processes all transfers asynchronously, // so this call returns immediately. Upload upload = tm.upload(bucketName, keyName, file);