aboutsummaryrefslogtreecommitdiff
path: root/other/java/s3copy/copier/src/main
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2018-09-02 14:19:24 -0700
committerChris Lu <chris.lu@gmail.com>2018-09-02 14:19:24 -0700
commit73f331df84d2b2ff1fff8cb87eae1edfbe983c2d (patch)
treed411df05934446da3e250d68d4216833705430aa /other/java/s3copy/copier/src/main
parent76cbe8bf3371fbdbb65cf13fe0d767164b53b151 (diff)
downloadseaweedfs-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.java66
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!");
+ }
+}