Chapter 16. Using Online Storage Services

Table of Contents

Introducing Amazon S3
Rationale for S3
Conceptual Structure of Amazon S3
The Firefox S3 Extension Gets You Started with S3
Using the S3 REST Interface
Listing Buckets Using the REST Interface
Using the SOAP Interface to S3
Amazon S3 API Kits
PHP
Python
Summary

Amazon S3 and comparable services are intriguing players to recently enter the world of online storage. As we produce more digital content to share, we often need to store that content in a place accessible to others. Moreover, if you are building a service for others to use and need to have access to lots of storage, it’s valuable to be able to scale that storage up quickly without lots of upfront capital investment in storage hardware.

Amazon S3 is the poster child in the arena of online storage—and hence is the primary focus of this chapter. I will also cover some other web sites that have similar offerings but with important twists. For instance, some of these services are meant to be used as backup services and not really for serving up digital objects for web applications.

Some of the online storage services have APIs, which makes them highly mashable. They include the following:

This chapter shows the basics of using the most well known of the online storage services: Amazon S3.

Introducing Amazon S3

Amazon S3 (the S3 stands for Simple Storage Service) is described in the following way:[260]

Amazon S3 provides a simple web services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the Web. It gives any developer access to the same highly scalable, reliable, fast, inexpensive data storage infrastructure that Amazon uses to run its own global network of web sites.

There is no direct user interface for S3; it is meant as a technical infrastructure upon which developers can build services. The only interface to S3 provided by Amazon.com is a web services API. You can access S3 through its REST or SOAP interface directly or via ­third-­party ­language-­specific API kits that use the REST or SOAP interface. Using the API kits generally makes accessing S3 easier, provided they are well documented and cover the parts of the API that you care about. Sometimes they do not shield you from all the subtleties of the underlying API. For instance, to use the SOAP/WSDL interface to S3, you need to understand how to sign your calls, a topic I will cover briefly in this chapter.

In the following sections, I will guide you through how to get started with Amazon S3, outlining how to use the API and referring you to the API’s detailed documentation as appropriate.