Release: AWS SDK for Java 1.2.0

This release adds support for the latest Amazon CloudWatch and Amazon Elastic Map Reduce API versions, as well as numerous bug fixes and enhancements, including upgrading the SDK to use Apache HttpClient 4.


Release Date: May 11, 2011
Latest Version: 1.2.0
Created On: May 11, 2011
Last Updated: October 09, 2017


Download

Download the latest AWS SDK for Java

New Features

Change Description
Amazon CloudWatch

Amazon CloudWatch now allows you to publish your own custom metrics. You can use the AWS SDK for Java to upload custom metrics to Amazon CloudWatch, then later access statistics on your data.

Example usage:

    MetricDatum datum = new MetricDatum().withDimensions(
        new Dimension().withName("InstanceType").withValue("m1.small"))
        .withMetricName(measureName).withTimestamp(new Date())
        .withUnit("Count").withValue(42.0);
            
    PutMetricDataRequest request = new PutMetricDataRequest()
        .withNamespace("AWS/EC2").withMetricData(datum);
    cloudwatch.putMetricData(request);

    GetMetricStatisticsRequest getRequest = new GetMetricStatisticsRequest()
        .withStartTime(new Date(new Date().getTime() - ONE_WEEK_IN_MILLISECONDS))
        .withNamespace("AWS/EC2")
        .withPeriod(60 * 60)
        .withDimensions(new Dimension().withName("InstanceType").withValue("m1.small"))
        .withMetricName(measureName)
        .withStatistics("Average", "Maximum", "Minimum", "Sum")
        .withEndTime(new Date());
    GetMetricStatisticsResult result = cloudwatch.getMetricStatistics(getRequest);
          
Apache HttpClient 4

This release of the AWS SDK for Java moves from using Apache HttpClient 3 to Apache HttpClient 4. Apache HttpClient 4 is the latest, supported version of Apache's HttpClient library, and provides improvements, bug fixes, and performance enhancements over HttpClient 3.

Please be aware that as a result of this upgrade, the set of jars in the third-party directory of the SDK has changed. Any references in your application's code to specific jars must be updated.

Amazon S3 Encryption: Support for Multipart Uploads

The AmazonS3EncryptionClient class (which allows you to transparently encrypt and decrypt your sensitive data all on the client-side without your encryption keys ever leaving your application), now supports encrypting Multipart Uploads. Each individual part is encrypted with the same symmetric key, then when Amazon S3 combines them into one object, the encryption client decrypts that stream with the original encryption key.

With Multipart Upload support in the AmazonS3EncryptionClient, it's now even easier to drop an instance of AmazonS3EncryptionClient into the high level TransferManager class to easily, and securely, upload large objects to Amazon S3.

For more information on the AmazonS3Encryption class, check out this document: http://aws.amazon.com/articles/2850096021478074

Example usage:

    AmazonS3EncryptionClient s3 = new AmazonS3EncryptionClient(encryptionMaterials);
    TransferManager manager = new TransferManager(s3);
    Upload upload = manager.upload(bucket, key, reallyLargeSecretFile);
    upload.waitForUploadResult();
          
Amazon S3: Multipart Upload Data Integrity Validation

When uploading Multipart Uploads using the Amazon S3 client, or the high level TransferManager class, the SDK now calculates an MD5 checksum on the fly and compares it with Amazon S3's checksum to make sure your data was correctly uploaded to Amazon S3.

Amazon Elastic Map Reduce API Update

The latest SDK version adds support for the new SetTerminationProtection operation in the Amazon Elastic Map Reduce API.

NTLM Proxy Support

You can now configure the AWS SDK for Java to connect to AWS through an NTLM proxy. For more details, see the documentation for the new proxyDomain and proxyWorkstation fields specific to NTLM proxies in the ClientConfiguration class.

Known Issues

CloudWatch: Data Type Attribute Name Difference

The MetricAlarm data type contains an attribute named InsufficientDataActions. The current WSDL, however, refers to this attribute as UnknownActions.

Resolved Issues

S3 Request Signing

In previous SDK versions, long running S3 operations, such as uploading large objects, could fail during retries because too much time had passed between when the request was signed and when the request was retried. This version of the SDK now resigns S3 requests before retrying them, in case enough time has passed that the old signature is no longer valid.

Proxy Configuration

The latest version of the SDK sets the default maximum open connection count to ensure that proxy configuration options set in ClientConfiguration are honored.

Supported API Versions

This release of the SDK supports the following API versions:

Service API Version
Amazon CloudWatch 2010-08-01
Amazon Elastic Compute Cloud (EC2) 2011-02-28
Amazon Elastic MapReduce 2009-03-31
Amazon Relational Database Service (RDS) 2010-07-28
Amazon Simple Email Service (SES) 2010-12-01
Amazon Simple Notification Service (SNS) 2010-03-31
Amazon Simple Queue Service 2009-02-01
Amazon Simple Storage Service (S3) 2006-03-01
Amazon SimpleDB 2009-04-15
Auto Scaling 2010-08-01
AWS Cloud Formation 2010-05-15
AWS Elastic Beanstalk 2010-12-01
AWS Identity and Access Management 2010-05-08
AWS Import/Export 2010-06-01
Elastic Load Balancing 2010-07-01