AWS Developer Tools Blog

Norm Johanson

Author: Norm Johanson

Norm Johanson has been a software developer for more than 25 years developing all types of applications. Since 2010 he has been working for AWS focusing on the .NET developer experience at AWS. You can find him on Twitter @socketnorm and GitHub @normj.

Referencing Credentials using Profiles

There are a number of ways to provide AWS credentials to your .NET applications. One approach is to embed your credentials in the appSettings sections of your App.config file. While this is easy and convenient, your AWS credentials might end up getting checked into source control or published to places that you didn’t mean. A […]

Using Amazon SQS Dead Letter Queues

After Jason Fulghum recently posted a blog entry about using Amazon SQS dead letter queues with the AWS SDK for Java, I thought his post would be interesting for .NET developers as well. Here is Jason’s post with the code replaced with the C# equivalent. Amazon SQS recently introduced support for dead letter queues. This […]

Amazon DynamoDB Local Integration with AWS Toolkit for Visual Studio

Recently, the Amazon DynamoDB team released DynamoDB Local, a great tool for local testing and working disconnected from the Internet. With version 1.6.3 of the AWS Toolkit for Visual Studio, DynamoDB Local was integrated to make it easy to manage your locally running DynamoDB. In order to run DynamoDB Local, you need at least a […]

New Sample Simple Workflow

When you install the SDK from our website, many samples are installed inside Visual Studio, including the Express editions of Visual Studio. Look in the New Project Wizard, where you’ll find samples showing off many of the AWS services.   We recently added a new sample that shows off using Amazon Simple Workflow Service (SWF) […]

Resource Condition Support in the AWS CloudFormation Editor

AWS CloudFormation recently added support for conditions that control whether resources are created or what value to set for properties on resources. The CloudFormation editor included with the AWS Toolkit for Visual Studio was updated to support conditions in version 1.6.1. If you have never used the CloudFormation editor, we have a screencast that gives […]

Configuring DynamoDB Tables for Development and Production

The Object Persistence Model API in the SDK uses annotated classes to tell the SDK which table to store objects in. For example, the DyanmoDBTable attribute on the Users class below tells the SDK to store instances of the Users class into the “Users” table. [DynamoDBTable(“Users”)] public class Users { [DynamoDBHashKey] public string Id { […]

AWS re:Invent .NET Recap

Jim Flanagan and I had a great time at re:Invent this year talking to all the AWS users. It was really interesting to hear all the different ways our SDK and tools are being used. We got some great feature requests and now we are excited to be back in the office to start working […]

Subscribing an SQS Queue to an SNS Topic

In version 2.0.2.3 of the SDK we added an enhancement to the SDK to make it easier to subscribe an Amazon SQS queue to an Amazon SNS topic. You have always been able to subscribe queues to topics using the Subscribe method on the SNS client, but after you subscribed to the topic with your […]

The Three Different APIs for Amazon S3

The AWS SDK for .NET has three different APIs to work with Amazon S3. The low-level API found in the Amazon.S3 and Amazon.S3.Model namespaces provides complete coverage of the S3 APIs. For easy uploads and downloads, there is TransferUtility, which is found in the Amazon.S3.Transfer namespace. Finally the File I/O API in the Amazon.S3.IO namespace […]

Working with Amazon S3 Object Versions and the AWS SDK for .NET

Amazon S3 allows you to enable versioning for a bucket. You can enable or disable versioning with the SDK by calling the PutBucketVersioning method. Note, all code samples were written for our new version 2 of the SDK. Users of version 1 of the SDK will notice some slight name changes. s3Client.PutBucketVersioning(new PutBucketVersioningRequest { BucketName […]