Created
May 19, 2019 20:34
-
-
Save lobster1234/893331bae351626d93e6da16268065cb to your computer and use it in GitHub Desktop.
S3Async Driver Quick Test
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package org.lobster1234; | |
import software.amazon.awssdk.services.s3.S3AsyncClient; | |
import software.amazon.awssdk.services.s3.model.DeleteObjectRequest; | |
import software.amazon.awssdk.services.s3.model.DeleteObjectResponse; | |
import software.amazon.awssdk.services.s3.model.ListBucketsResponse; | |
import java.util.concurrent.CompletableFuture; | |
public class S3AsyncTest { | |
public static void main(String[] args) throws Exception{ | |
S3AsyncClient client = S3AsyncClient.create(); | |
CompletableFuture<ListBucketsResponse> response = client.listBuckets(); | |
System.out.println(">>>> List buckets request fired async"); | |
response.whenComplete((resp, ex) -> { | |
System.out.println("<<<< Here are the buckets"); | |
resp.buckets().stream().forEach(x -> System.out.println(" <<<< " + x.name())); | |
}); | |
//now lets try to create an exception | |
DeleteObjectRequest request = DeleteObjectRequest.builder().bucket("nonexistent").key("invalid").build(); | |
CompletableFuture<DeleteObjectResponse> deleteResponse = client.deleteObject(request); | |
System.out.println(">>>> Delete object request fired async"); | |
deleteResponse.whenComplete((resp,ex ) ->{ | |
if(ex!=null){ | |
System.out.println("<<<< Exception when deleting the object " + ex.getMessage()); | |
}else System.out.println("<<<< Successfulluy deleted " + resp); | |
}); | |
Thread.sleep(20*1000); //Otherwise our code will exit, let the async things finish | |
} | |
} |
Author
lobster1234
commented
May 19, 2019
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment