如何使用旋转将一组添加到DynamoDB?

时间:2012-08-25 00:04:10

标签: clojure

我正在使用clojure的旋转客户端测试亚马逊DynamoDB,我在插入套件时遇到了麻烦。

如果我这样做

(put-item aws-cred "MyTbl" {"id" 123 "abc" "something "bcd" 42})

它运作得很好。我可以在AWS Explore Table中看到这些字段,当我执行

时,我会将其恢复
(get-item aws-cred "MyTbl" 123)

但我无法弄清楚如何插入一个集合(DynamoDB支持字符串集和数字集)。我已通过在AWS Explore Tables中手动设置属性来验证这一点。

我试过

(put-item aws-cred "MyTbl" {"id" 123 "abc" #{"A" "B"}})

(put-item aws-cred "MyTbl" {"id" 123 "abc" ["A" "B"]})

(put-item aws-cred "MyTbl" {"id" 123 "abc" '("A" "B")})

(put-item aws-cred "MyTbl" {"id" 123 "abc" (java.util.ArrayList. ["A" "B"])})

他们都成功但除了id之外没有任何结果。我尝试了最后一个版本,因为当我在手动输入的行上执行get-item时,该集合将返回该类型。

有人设法做到了吗?

感谢。

1 个答案:

答案 0 :(得分:0)

有一个fork of rotary支持java api提供的update-item功能。我用它来将项目插入到集合中:

(rotary/update-item cred "MyTbl" "HashKey" {"mysetattribute" [:add #{"newvalue"}]} :return-values "NONE"))