I’m a big fan of the Amazon Web Services (AWS) platform for many reasons. Their pace of innovation is impressive, their services are solid and their ecosystem is getting better all the time. Up until now, .NET focused developers have only had the AWS SDK for .NET to work with (besides going against the native service interfaces). Today, all of that changed.
The AWS team just released a Toolkit for Visual Studio (2008 and 2010) that puts the power of AWS all within Visual Studio. I needed an excuse tonight to not watch my grad school classes, so I thought I’d put the toolkit through its paces and see what’s baked in there.
After downloading the very small package and installing it, I saw a new option to open the AWS Explorer.
When I first opened it, I had to set my region.
I then clicked the Add Account button and put in my credentials.
Once I did that, the world opened up. I saw each of the AWS services that I can manipulate. All the biggies are here including EC2, S3, SimpleDB, IAM and my quiet favorites, SNS and SQS.
The big thing to be aware of is that this is NOT just a read-only viewer, but a very interactive service management window. Let’s check out some examples. First, I created a new S3 bucket. Note that S3 is where I can store all kinds of unstructured content (images, movies, etc) and reference it with a key.
When I chose to upload a simple text file, I was asked to provide any desired metadata.
After doing this, I could see my file stored in S3.
I love the attention to detail here. If I right click the file, I get an impressive set of activities to perform on the file.
I then easily deleted the file and the entire S3 bucket without ever leaving Visual Studio 2010. Next up, I created a new SimpleDB domain. Recall that SimpleDB is a lot like the Windows Azure Table storage (see my post comparing them).
After creating the new domain (container) I added some “rows” to this “table” which could have whichever columns I choose.
I can execute query statements in the top window, so I did a quick filter that just showed the row with my name.
When I right-click my SimpleDB domain in the AWS Explorer, I have the choice to see details of my domain. Check it out.
Nice! Now, what about the big daddy, EC2? I was pleasantly surprised to see that I could search Amazon Machine Images (AMIs) from here.
As you might hope, you can also launch an instance of an AMI from here.
There are all sorts of options (also in the Advanced menu) for the number of instances, type of instance and much more.
Last up, how about some Simple Queue Services (SQS) love? The AWS SDK for .NET has a set of sample projects, and I opened the one for SQS (AmazonSQS_Sample.VS2010.csproj). This sample creates a queue, puts a message in the queue, and then deletes the message. Instead of having this project build the queue, I thought I’d do it via the Explorer and comment out that code. Below, I commented out the code (surrounded by “TURNED OFF”) that creates the queue.
Then, I created a new queue via the AWS Explorer.
I then ran the app and saw that it successfully published to, and read from the queue that I just created.
The AWS Explorer lets me peek into the queue, and, actually send a message to it!
Then I can see the messages that have gone through the queue.
It goes without saying that if you do AWS work as a Visual Studio developer, this tooling is a “must have.” For an initial release, it’s remarkably well put together and considerate of the sorts of operations you want to do with the AWS services. It’s also a fantastic way to play with the platform if you just want to see what the fuss is about!