我正在使用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时,该集合将返回该类型。
有人设法做到了吗?
感谢。
答案 0 :(得分:0)
有一个fork of rotary支持java api提供的update-item
功能。我用它来将项目插入到集合中:
(rotary/update-item cred "MyTbl" "HashKey" {"mysetattribute" [:add #{"newvalue"}]} :return-values "NONE"))