Java console application which shows how to interact with Amazon EC2.
The following figure is the application architecture (class diagram):
For details see:
- Best Practices for Amazon EC2
- New Features for Amazon EC2: Elastic Load Balancing, Auto Scaling, and Amazon CloudWatch
- What is the AWS SDK for Java?
Also, see the companion blog post at this location: Build AWS EC2 Client Application.
- ๐ You must have Maven installed. The dependencies are satisfied by building the Maven package.
- ๐จ Also assure to download the aws-client-auth project and include it in this client app project.
- ๐ If you use Eclipse to build the application (why not?) follow the steps describe at: Include a Project.
๐ Make sure that the aws-auth-client compiled correctly.
๐จ You need to set up your AWS security credentials before the sample code is able to connect to AWS. You can do this by creating a file named "credentials" in the ~/.aws/ directory on Mac (C:\Users\USER_NAME.aws\ on Windows) and saving the following lines in the file:
[default]
aws_access_key_id = <your access key>
aws_secret_access_key = <your secret key>
For information on how to obtain the above keys, refer to aws-client-auth README file.
The application connects to Amazon's Amazon Elastic Computing (EC2), and allows the user to create a bucket, upload an object into the bucket, download the object, delete the object and delete the bucket. All you need to do is run it by following these steps:
-
From the project, create an executable JAR
-
From a terminal window, go to the directory containing the JAR and execute a command similar to the following:
java -jar aws-ec2-java.jar us-west-2
Alternatively, you can use a tool like Eclipse to build the application and run it
Assure that the pom.xml file has the following dependency, otherwise you'll get a runtime error when executing the jar.
<dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.9</version> </dependency>
See Joda Time ยป 2.8.1.
This sample application is distributed under the Apache License, Version 2.0.