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.
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
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.
|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.
|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.
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:
|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|
|AWS Cloud Formation||2010-05-15|
|AWS Elastic Beanstalk||2010-12-01|
|AWS Identity and Access Management||2010-05-08|
|Elastic Load Balancing||2010-07-01|