Here is some information from Amazon regarding the free usage tier limits for S3:
- 5 GB of Amazon S3 standard storage, 20,000 Get Requests, and 2,000 Put Requests
- These free tiers are only available to existing AWS customers who have signed-up for Free Tier after October 20, 2010 and new AWS customers, and are available for 12 months following your AWS sign-up date. When your free usage expires or if your application use exceeds the free usage tiers, you simply pay standard, pay-as-you-go service rates (see each service page for full pricing details). Restrictions apply; see offer terms for more details.
Sign Up To Use AWS
You need to create an account in order to use the Amazon Web Services. Make sure you read the pricing for any service you use so you don't end up with surprise charges. In any case, go to http://aws.amazon.com/ to sign up for an account if you haven't done so already.
Install or Reference the AWS .Net SDK
To start using the AWS .Net SDK to access S3 you will want to either download the SDK from Amazon or use NuGet via Visual Studio. Start Visual Studio (this example is using Visual Studio 2010), and do the following to use NuGet to fetch the AWS SDK:
- Select the menu item "Tools | Library Package Manager | Manage NuGet Packages For Solution..."
- Type "AWS" in the "Search Online" search text box
- Select "AWS SDK for .Net" and click the "Install" button
- Click "OK" on the "Select Projects" dialog
Create a Project and Use the AWS S3 API
Create a project in Visual Studio, and add the following code:
string key = "theawskeythatyougetwhenyousignuptousetheapis"; string secretKey = "thesecretkeyyougetwhenyousignuptousetheapis"; // create an instance of the S3 TransferUtility using the API key, and the secret key var tu = new TransferUtility(key, secretKey); // try listing any buckets you might have var response = tu.S3Client.ListBuckets(); foreach(var bucket in response.Buckets) { Console.WriteLine("{0} - {1}", bucket.BucketName, bucket.CreationDate); // list any objects that might be in the buckets var objResponse = tu.S3Client.ListObjects( new ListObjectsRequest { BucketName = response.Buckets[0].BucketName } ); foreach (var s3obj in objResponse.S3Objects) { Console.WriteLine("\t{0} - {1} - {2} - {3}", s3obj.ETag, s3obj.Key, s3obj.Size, s3obj.StorageClass); } } // create a new bucket string bucketName = Guid.NewGuid().ToString(); var bucketResponse = tu.S3Client.PutBucket(new PutBucketRequest { BucketName = bucketName } ); // add something to the new bucket tu.S3Client.PutObject(new PutObjectRequest { BucketName = bucketName, AutoCloseStream = true, Key = "codecog.png", FilePath = "C:\\Temp\\codecog.png" } ); // now list what is in the new bucket (which should only have the one item) var bucketObjResponse = tu.S3Client.ListObjects( new ListObjectsRequest { BucketName = bucketName } ); foreach (var s3obj in bucketObjResponse.S3Objects) { Console.WriteLine("{0} - {1} - {2} - {3}", s3obj.ETag, s3obj.Key, s3obj.Size, s3obj.StorageClass); }
No comments:
Post a Comment