I'm doing some work with Amazon Web Services and have started to build a
thin wrapper for the typica and jets3t java-libraries. It is far from
complete, but has basic support to do real stuff with SQS, S3 and SDB.

http://github.com/ugglan/cljaws

Some example usage:

; enqueue the names of all my s3-buckets as a message in queue "bucketlist"
(with-aws
  (with-sqs-queue "bucketlist"
    (doseq [bucket-name (with-s3 (list-buckets))]
   (enqueue bucket-name))))

; create sdb domain
(with-aws (with-sdb (create-domain :workspace)))

; dequeue messages sent above and add each one as a row in the sdb-domain
(with-aws
  (with-sqs-queue "bucketlist"
    (with-sdb
(with-domain :workspace
  (doseq [msg (take-while (comp not false?) (repeatedly #(dequeue 5)))]
 (add-attributes msg {:type "testing bucket"}))))))

;select all rows and attibutes from domain
(with-aws (with-sdb (select "* from workspace")))


README:

cljaws is a relatively thin wrapper for the typica and jets3t AWS libraries.
In its current state it is very sparse and incomplete, functionality will be
added on a "need it!"-basis.

My aim is to have something that makes it easy and fun (for me!) to use all
of the Amazon Web Services in a consistent and somewhat clojuresque manner.

I have no ambitions to completely hide the innards of the parent libraries
because sometimes I might want to work with the Java-objects.

The API will very likely change, at the moment it might be a
bit binding/with-happy and it's a bit inconsistent in when it will return a
Java-object and when it will wrap it in (bean ..).


Have a look at it!
/Tobias

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to