Chris Lu
6 years ago
3 changed files with 139 additions and 0 deletions
-
35other/java/s3copy/copier/pom.xml
-
66other/java/s3copy/copier/src/main/java/com/seaweedfs/s3/S3Copy.java
-
38other/java/s3copy/copier/src/test/java/com/seaweedfs/s3/S3CopyTest.java
@ -0,0 +1,35 @@ |
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
<groupId>com.seaweedfs.s3</groupId> |
|||
<artifactId>copier</artifactId> |
|||
<packaging>jar</packaging> |
|||
<version>1.0-SNAPSHOT</version> |
|||
<name>copier</name> |
|||
<url>http://maven.apache.org</url> |
|||
|
|||
<dependencyManagement> |
|||
<dependencies> |
|||
<dependency> |
|||
<groupId>com.amazonaws</groupId> |
|||
<artifactId>aws-java-sdk-bom</artifactId> |
|||
<version>1.11.327</version> |
|||
<type>pom</type> |
|||
<scope>import</scope> |
|||
</dependency> |
|||
</dependencies> |
|||
</dependencyManagement> |
|||
|
|||
<dependencies> |
|||
<dependency> |
|||
<groupId>com.amazonaws</groupId> |
|||
<artifactId>aws-java-sdk-s3</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>junit</groupId> |
|||
<artifactId>junit</artifactId> |
|||
<version>3.8.1</version> |
|||
<scope>test</scope> |
|||
</dependency> |
|||
</dependencies> |
|||
</project> |
@ -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!"); |
|||
} |
|||
} |
@ -0,0 +1,38 @@ |
|||
package com.seaweedfs.s3; |
|||
|
|||
import junit.framework.Test; |
|||
import junit.framework.TestCase; |
|||
import junit.framework.TestSuite; |
|||
|
|||
/** |
|||
* Unit test for simple App. |
|||
*/ |
|||
public class S3CopyTest |
|||
extends TestCase |
|||
{ |
|||
/** |
|||
* Create the test case |
|||
* |
|||
* @param testName name of the test case |
|||
*/ |
|||
public S3CopyTest(String testName ) |
|||
{ |
|||
super( testName ); |
|||
} |
|||
|
|||
/** |
|||
* @return the suite of tests being tested |
|||
*/ |
|||
public static Test suite() |
|||
{ |
|||
return new TestSuite( S3CopyTest.class ); |
|||
} |
|||
|
|||
/** |
|||
* Rigourous Test :-) |
|||
*/ |
|||
public void testApp() |
|||
{ |
|||
assertTrue( true ); |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue