Release: AWS SDK for .NET 1.5.0

Release Notes>Release: AWS SDK for .NET 1.5.0
This release adds support for Amazon Glacier, a new Amazon DynamoDB session provider, improved region support and a new S3 file IO API.

Details

Submitted By: Norm@AWS
Created On: August 21, 2012 4:39 AM GMT
Last Updated: August 24, 2012 12:35 AM GMT

Download

Download the latest AWS SDK for .NET

Notice

This release changes the AWS SDK for .NET to require the .NET 3.5 Framework.

New Features

Change Description
Amazon Glacier

Amazon Glacier is an extremely low-cost storage service that provides secure and durable storage for data archiving and backup. In order to keep costs low, Amazon Glacier is optimized for data that is infrequently accessed and for which retrieval times of several hours are suitable. With Amazon Glacier, customers can reliably store large or small amounts of data for as little as $0.01 per gigabyte per month, a significant savings compared to on-premises solutions.

This code snippet shows how to create a vault and upload a file.

                                                    
string vaultName = "datasets";
ArchiveTransferManager manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);
manager.CreateVault(vaultName); // Create a vault to hold all the datasets

string archiveId = manager.Upload(vaultName, "global-wind-patterns-2012.dat", @"c:\datasets\global-wind-patterns-2012.dat").ArchiveId;
Console.WriteLine("Archive ID for later retrieval: {0}", archiveId);
                                                                   

For more information, see the Amazon Glacier detail page.

Amazon DynamoDB Session Provider This releases adds a new Amazon DynamoDB session provider for ASP.NET applications. It can be found in the new AWS.Extensions.dll assembly which is installed with the SDK as well through the Nuget package AWS SDK for .NET: Extensions. The session provider is configured in the web.config. The session provider can use any Amazon DynamoDB table that only has a hash key that is a string. If the table specified does not exist it will be created during application startup, the table will have read and write capacity set to 5. Here is an example snippet that goes in the system.web element.
  <system.web>
    ...
    <sessionState
      mode="Custom"
      customProvider="DynamoDBSessionStoreProvider">
      <providers>
        <add name="DynamoDBSessionStoreProvider"
          type="Amazon.SessionProvider.DynamoDBSessionStateStore"
          AWSAccessKey="YOUR-ACCESS-KEY"
          AWSSecretKey="YOUR-SECRET-KEY"
                                  Table="ASP.NET_SessionState"
          Region="us-east-1"
          />
      </providers>
    </sessionState>
    ...
  </system.web>
                                                                                
Improved Region Support

With the new improved support for regions the region can now be specified using a constant in the constructor of the clients. For example, the code below shows how to create an AmazonDynamoDB client using the us-west-2 region:

var dynamoDBClient = new AmazonDynamoDBClient(accessKey, secretKey, RegionEndpoint.USWest2);
                                                                                
Amazon S3 File IO API

The new Amazon S3 File IO API found in the Amazon.S3.IO namespace mimics .NET FileInfo and DirectoryInfo classes to use Amazon S3 as file system. The following code shows how create a directory in a bucket and write a file.

S3DirectoryInfo rootDirectory = new S3DirectoryInfo(client, bucketName);
S3DirectoryInfo artDir = rootDirectory.CreateSubdirectory("asciiart");
S3FileInfo artFile = artDir.GetFile("aws.txt");
using (StreamWriter writer = new StreamWriter(artFile.OpenWrite()))
{
    writer.WriteLine("   _____  __      __  _________");
    writer.WriteLine("  /  _  \/  \    /  \/   _____/");
    writer.WriteLine(" /  /_\  \   \/\/   /\_____  \ ");
    writer.WriteLine("/    |    \        / /        \");
    writer.WriteLine("\____|____/\__/\__/ /_________/");
}                                                                              

The S3FileSystem_Sample sample project was added to the SDK to show a larger example of how to use the API.

Note, when this API is reading and writing data from Amazon S3 it is buffering the data in memory until the stream is closed. For large files this API would not be appropriate.

Guid Support for Amazon DynamoDB

The object persistence model for Amazon DynamoDB now supports having properties of type Guid and will be persistented as strings in the mapped table.

Amazon S3 PutBucket ACL

The PutBucket operation now supports setting an acl.

Amazon S3 LogDeliveryWrite

The new value LogDeliveryWrite was added to the S3CannedACL enumeration for setting permissions to a bucket to be used as logging target.

Known Issues

Issue Description
Installation Requires Administrator Privileges The default install location is %PROGRAMFILES%, which on most computers is "c:\program files". In order to install files to the default location, the MSI must be run by an Administrator. If you don't have Administrator privileges on the machine, please change the install location to something like "c:\Documents and Settings\<you>\AWS SDK for .NET", and the install will complete successfully. If you are running on Vista, your personal folder is similar to "c:\users\<you>\".
Uninstalling the SDK Produces "Unknown Publisher" Message On Windows Vista, uninstalling the MSI results in an "Unknown Publisher" dialog even though the installer is signed by Amazon Web Services. This is a known Windows Installer bug on Windows Vista, and is documented here: http://support.microsoft.com/kb/929467/en-us

Supported API Versions

This release of the SDK supports the following API versions:

Service API Version
Amazon CloudFront 2012-05-05
Amazon CloudSearch 2011-02-01
Amazon CloudWatch 2010-08-01
Amazon DynamoDB 2011-12-05
Amazon Elastic Compute Cloud 2012-07-20
Amazon Elastic MapReduce 2009-03-31
Amazon ElastiCache 2012-03-09
Amazon Glacier 2012-06-01
Amazon Relational Database Service 2012-07-01
Amazon Simple Email Service 2010-12-01
Amazon Simple Notification Service 2010-03-31
Amazon Simple Queue Service 2011-10-01
Amazon Simple Storage Service 2006-03-01
Amazon Simple Workflow Service 2012-01-25
Amazon SimpleDB 2009-04-15
Auto Scaling 2011-01-01
AWS CloudFormation 2010-05-15
AWS Elastic Beanstalk 2010-12-01
AWS Identity and Access Management 2010-05-08
AWS Import/Export 2010-06-01
AWS Route 53 2012-02-29
AWS Security Token Service 2011-06-15
AWS Storage Gateway 2012-03-12
Elastic Load Balancing 2012-06-01
©2014, Amazon Web Services, Inc. or its affiliates. All rights reserved.