diff options
| author | Chris Lu <chris.lu@gmail.com> | 2018-09-02 14:19:24 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2018-09-02 14:19:24 -0700 |
| commit | 73f331df84d2b2ff1fff8cb87eae1edfbe983c2d (patch) | |
| tree | d411df05934446da3e250d68d4216833705430aa /other/java/s3copy/copier/src/main | |
| parent | 76cbe8bf3371fbdbb65cf13fe0d767164b53b151 (diff) | |
| download | seaweedfs-73f331df84d2b2ff1fff8cb87eae1edfbe983c2d.tar.xz seaweedfs-73f331df84d2b2ff1fff8cb87eae1edfbe983c2d.zip | |
add java example of copying to weed s3 end point
Diffstat (limited to 'other/java/s3copy/copier/src/main')
| -rw-r--r-- | other/java/s3copy/copier/src/main/java/com/seaweedfs/s3/S3Copy.java | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/other/java/s3copy/copier/src/main/java/com/seaweedfs/s3/S3Copy.java b/other/java/s3copy/copier/src/main/java/com/seaweedfs/s3/S3Copy.java new file mode 100644 index 000000000..f00a0ad0a --- /dev/null +++ b/other/java/s3copy/copier/src/main/java/com/seaweedfs/s3/S3Copy.java @@ -0,0 +1,66 @@ +package com.seaweedfs.s3; + +import com.amazonaws.AmazonServiceException; +import com.amazonaws.ClientConfiguration; +import com.amazonaws.SdkClientException; +import com.amazonaws.auth.AWSCredentials; +import com.amazonaws.auth.AWSStaticCredentialsProvider; +import com.amazonaws.auth.BasicAWSCredentials; +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.ObjectMetadata; +import com.amazonaws.services.s3.model.PutObjectRequest; + +import java.io.File; + +/** + * Hello world! + */ +public class S3Copy { + public static void main(String[] args) { + + AWSCredentials credentials = new BasicAWSCredentials("ANY-ACCESSKEYID", "ANY-SECRETACCESSKEY"); + ClientConfiguration clientConfiguration = new ClientConfiguration(); + clientConfiguration.setSignerOverride("AWSS3V4SignerType"); + + AmazonS3 s3Client = AmazonS3ClientBuilder + .standard() + .withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration( + "http://localhost:8333", Regions.US_WEST_1.name())) + .withPathStyleAccessEnabled(true) + .withClientConfiguration(clientConfiguration) + .withCredentials(new AWSStaticCredentialsProvider(credentials)) + .build(); + + String bucketName = "javabucket"; + String stringObjKeyName = "strObject2"; + String fileObjKeyName = "fileObject2"; + String fileName = args[0]; + + try { + + // Upload a text string as a new object. + s3Client.putObject(bucketName, stringObjKeyName, "Uploaded String Object v3"); + + // Upload a file as a new object with ContentType and title specified. + PutObjectRequest request = new PutObjectRequest(bucketName, fileObjKeyName, new File(fileName)); + ObjectMetadata metadata = new ObjectMetadata(); + metadata.setContentType("plain/text"); + metadata.addUserMetadata("x-amz-meta-title", "someTitle"); + request.setMetadata(metadata); + s3Client.putObject(request); + } catch (AmazonServiceException e) { + // The call was transmitted successfully, but Amazon S3 couldn't process + // it, so it returned an error response. + e.printStackTrace(); + } catch (SdkClientException e) { + // Amazon S3 couldn't be contacted for a response, or the client + // couldn't parse the response from Amazon S3. + e.printStackTrace(); + } + + System.out.println("Hello World!"); + } +} |
