Earlier I had written a very small single Java file for accessing and querying SimpleDB. This is an update to that. This version updates the signing mechanism to latest spec, parses and processes the XML. The code assumes a single value per key model, which allows it to use standard maps to represent tuples and tables, simplifying usage.
Example:
SDB sdb = new SDB("YOUR KEY HERE", "YOUR SECRET HERE");
sdb.createDomain("test");
System.out.println(Arr.toString(sdb.listDomains()));
TreeMap map = new TreeMap();
map.put("id", "item1");
map.put("a", "av");
map.put("b", "bv");
sdb.putAttributes("test", map);
System.out.println(sdb.getAttributes("test", "item1"));
System.out.println(Arr.toString(sdb.select("select * from test")));
map = new TreeMap();
map.put("id", "item1");
sdb.deleteAttributes("test", map);
System.out.println(sdb.getAttributes("test", "item1"));
sdb.deleteDomain("test");
System.out.println(Arr.toString(sdb.listDomains()));
This results in the output:
{test}
{a=av, b=bv, id=item1}
{{a=av, b=bv, id=item1}}
{id=item1}
{}
Example:
SDB sdb = new SDB("YOUR KEY HERE", "YOUR SECRET HERE");
sdb.createDomain("test");
System.out.println(Arr.toString(sdb.listDomains()));
TreeMap map = new TreeMap();
map.put("id", "item1");
map.put("a", "av");
map.put("b", "bv");
sdb.putAttributes("test", map);
System.out.println(sdb.getAttributes("test", "item1"));
System.out.println(Arr.toString(sdb.select("select * from test")));
map = new TreeMap();
map.put("id", "item1");
sdb.deleteAttributes("test", map);
System.out.println(sdb.getAttributes("test", "item1"));
sdb.deleteDomain("test");
System.out.println(Arr.toString(sdb.listDomains()));
This results in the output:
{test}
{a=av, b=bv, id=item1}
{{a=av, b=bv, id=item1}}
{id=item1}
{}