0

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

例如,如果我这样做

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

它工作得很好。我可以看到 AWS Explore Table 中的字段,并在执行操作时将其取回

(get-item aws-cred "MyTbl" 123)

但我不知道如何插入一个集合(DynamoDB 支持字符串集和数字集)。我已经通过在 AWS 探索表中手动设置属性来验证这一点。

我试过了

(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 时,该集合返回为该类型。

有没有人设法做到这一点?

谢谢。

4

1 回答 1

0

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

(rotary/update-item cred "MyTbl" "HashKey" {"mysetattribute" [:add #{"newvalue"}]} :return-values "NONE"))
于 2012-08-25T01:33:16.747 回答