View Javadoc
1   package com.github.davidmoten.aws.lw.client;
2   
3   import java.io.IOException;
4   import java.util.Arrays;
5   import java.util.Collection;
6   
7   import software.amazon.awssdk.auth.credentials.SystemPropertyCredentialsProvider;
8   import software.amazon.awssdk.awscore.exception.AwsServiceException;
9   import software.amazon.awssdk.core.exception.SdkClientException;
10  import software.amazon.awssdk.http.urlconnection.UrlConnectionHttpClient;
11  import software.amazon.awssdk.regions.Region;
12  import software.amazon.awssdk.services.s3.S3Client;
13  import software.amazon.awssdk.services.s3.model.CompleteMultipartUploadRequest;
14  import software.amazon.awssdk.services.s3.model.CompletedMultipartUpload;
15  import software.amazon.awssdk.services.s3.model.CompletedPart;
16  import software.amazon.awssdk.services.s3.model.GetObjectRequest;
17  import software.amazon.awssdk.services.s3.model.InvalidObjectStateException;
18  import software.amazon.awssdk.services.s3.model.NoSuchKeyException;
19  import software.amazon.awssdk.services.s3.model.S3Exception;
20  import software.amazon.awssdk.utils.IoUtils;
21  
22  public class AwsSdkV2Main {
23      
24      public static void main(String[] args) throws NoSuchKeyException, InvalidObjectStateException, S3Exception, AwsServiceException, SdkClientException, IOException {
25          S3Client client = S3Client.builder()
26                  .region(Region.AP_SOUTHEAST_2)
27                  .credentialsProvider(SystemPropertyCredentialsProvider.create()) //
28                  .httpClient(UrlConnectionHttpClient.builder().build())
29                  .build();
30          client.getObject(GetObjectRequest.builder().bucket("mybucket").key("mykey").build());
31          String r = IoUtils.toUtf8String(client.getObject(GetObjectRequest.builder().bucket("amsa-xml-in").key("ExampleObject.txt").build()));
32          System.out.println(r);
33          CompletedPart part = CompletedPart.builder().eTag("et123").partNumber(1).build();
34          Collection<CompletedPart> parts = Arrays.asList(part);
35          CompletedMultipartUpload m = CompletedMultipartUpload.builder().parts(parts).build();
36          //        client.putObject(PutObjectRequest.builder().bucket("amsa-xml-in").key("ExampleObject.txt").build(), //
37  //                RequestBody.fromString("hi there"));
38          CompleteMultipartUploadRequest request = CompleteMultipartUploadRequest.builder().bucket("amsa-xml-in").key("mykey").uploadId("abc") //
39                  .multipartUpload(m).build();
40          client.completeMultipartUpload(request);
41      }
42  
43  }