O'Reilly logo

Programming Amazon Web Services by James Murty

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Interacting with SimpleDB

Query API

The SimpleDB web service API is made available through two interfaces: Query and SOAP. In this book we will use the Query interface.

The SimpleDB service implementation presented in this chapter uses the Query API functionality implemented in the AWS Ruby module (see Query API Implementation” in Chapter 2). The AWS module includes methods that perform authentication, transmission, and response checking of Query API requests.

Amazon uses version identifiers to label different versions of most of their service APIs. By assigning each API version its own identifier, Amazon can continue to develop and change the APIs without without breaking AWS client implementations that use the older versions. For this text, we used the most recent SimpleDB API version available at the time of writing: 2007-11-07.

SimpleDB Implementation Stub

In this chapter, we will gradually build up a complete implementation class called SimpleDB that you can use to interact with the SimpleDB service. Example 13-1 defines a basic code stub for the SimpleDB class, to which we will add API implementation methods as we proceed through the chapter. Save this code stub to a file named SimpleDB.rb in the same directory as the AWS module file AWS.rb defined in Chapter 2.

Example 13-1. SimpleDB class stub: SimpleDB.rb

require 'AWS' require 'bigdecimal' class SimpleDB include AWS # include the AWS module as a mixin ENDPOINT_URI = URI.parse("https://sdb.amazonaws.com/") API_VERSION = '2007-11-07' ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required