Amazon Web Services can utilize either REST or SOAP for programmatic access to some of their web services.

This sample library (along with a test program) shows simply how to access EC2 services via Microsoft's C# and Visual Studio and the SOAP interface (not REST).
If you want REST, you can download a REST C# library from Amazon's website. The advantage to this method (SOAP) is that when Amazon updates the API, all you have to do (in Visual Studio) is to refresh a query to the WSDL site and viola! - API will have been updated. This is handy as Amazon continues to add features to this cool service.

In order to update / utilize this example, you DO need to download and install the Microsoft Web Services Extensions (WSE 3.0) add-on to Visual Studio.

If you want to duplicate this library from scratch, you'll need to:

-Install WSE 3.0 to Visual Studio (this version was developed against VS 2005)
-Create a project, select PROPERTIES of the project, select WSE Settings 3.0 and select Enable this project for Web Services Enhancements.
-Add Web Reference - use the Amazon EC2 WSDL url (found on the Amazon EC2 web site
-Add the code from this library to the main library class

Other notes:
- You can avoid references to the WS3 lbraries in your program (look at the TestApp under this project) by wrapping the EC2 calls in the library. This seemed like too much work, so I just added the references to the TestApp Project

- You'll need to request a certificate for SOAP operations under your Amazon account. It will provide two files (private key and cert, both are PEM files). You'll then need to convert both PEM files into on P12 file suitable for Microsoft Cert calls. You can do this via OpenSSL. The command line to do this is captured under the comments within this project (see AWSSoapLib/AWSLibrary.cs).

Happy cloud computing!

Last edited Nov 15, 2008 at 3:53 PM by jmarymee, version 2