Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Amazon SimpleDB for development environment / local installation

Is there a way / tool to simulate Amazon's SimpleDB for the purpose of development?

In my quest for above, I found this tool but this is for the Mac OS. Anything that can be installed on Win XP? Needless to say, all SimpleDB APIs need to be supported.

Just in case it matters, mine is a .Net based web application.

like image 995
Kabeer Avatar asked Jan 19 '10 17:01

Kabeer


4 Answers

SimpleDB/dev runs on Windows, Linux and Mac. The Wareseeker.com page that you found has copied the information across incorrectly. The Google Code project page for the tool is here

http://code.google.com/p/simpledb-dev/

like image 129
Andrew Fogg Avatar answered Oct 10 '22 21:10

Andrew Fogg


The C# library (http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1133) includes a mock library that sounds like it might do the trick for you. I have not used the mock functionality, but I believe that it uses an XML file as a backing store to hold the simulated domains.

One thing to keep in mind is that a few months ago, Amazon released the AWS SDK for .Net (http://aws.amazon.com/sdkfornet/). I'm still using the C# library and have not gotten around to looking into the AWS SDK, so I'm not sure if the mock functionality is included or not. Based on this thread, it sounds like the AWS SDK is a rollup of all the various service SDKs (including the SimpleDB C# library), so it may well contain the mock stuff.

like image 43
Darryl Avatar answered Oct 10 '22 20:10

Darryl


I tried http://code.google.com/p/simpledb-dev/ with Typica, but it didn't work because of version mismatch. simpledb-dev seems to support only a 2007 version of the protocol.

I tried release 0.1.10 of simpledb-dev uploaded on Jan 02, 2009, which is the latest to date.

(I wanted to add this note as a comment to Andrew Fogg answer, but I don't have comment privilege).

UPDATE: further details. With Typica 1.7.2 I get the following error:

<Response xmlns="http://sdb.amazonaws.com/doc/2007-11-07/">  
  <Errors> 
    <Error> 
      <Code>NoSuchVersion</Code> 
      <Message>SimpleDB/dev only supports version 2007-11-07 currently</Message> 
      <BoxUsage>0.0000219907</BoxUsage> 
    </Error> 
  </Errors> 
  <RequestID>0827d740-9654-4c6f-bed4-f97d19b40430</RequestID> 
</Response> 

I also tried with the official AWS Java SDK version 1.1.3, but I could not find a way to point to a local server. AmazonSimpleDBClient accepts a ClientConfiguration object in the constructor, but there are no setters for server and port in ClientConfiguration.

like image 36
stivlo Avatar answered Oct 10 '22 21:10

stivlo


Have a look at fakesb: https://github.com/stephenh/fakesdb, a Scala implementation of SimpleDB for local testing. Seems to be better maintained than simpledb-dev (I haven't tried it yet).

Another alternative may be node-mdb, a Node.js implementation: https://github.com/robtweed/node-mdb (latest commit 2 years ago).

like image 35
Martijn Rutten Avatar answered Oct 10 '22 21:10

Martijn Rutten