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' ...

Get Programming Amazon Web Services now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.