Amazon dynamodb 试图将相同的值放入项';s列表并获取ValidationException

Amazon dynamodb 试图将相同的值放入项';s列表并获取ValidationException,amazon-dynamodb,nosql,Amazon Dynamodb,Nosql,我最近决定试用amazon dynamodb,但仍在努力掌握它 在我的用例中,我必须将两个变量存储到DynamoDB的项中,这两个变量的值与字符串列表(“SS”)的值相同。当我试着这么做的时候,这就是我得到的 [ValidationException: One or more parameter values were invalid: Input collection [X,X] contains duplicates.] message: 'One or more parameter val

我最近决定试用amazon dynamodb,但仍在努力掌握它

在我的用例中,我必须将两个变量存储到DynamoDB的项中,这两个变量的值与字符串列表(“SS”)的值相同。当我试着这么做的时候,这就是我得到的

[ValidationException: One or more parameter values were invalid: Input collection [X,X] contains duplicates.]
message: 'One or more parameter values were invalid: Input collection [X, X] contains duplicates.',
code: 'ValidationException',
time: Fri Apr 25 2014 20:38:21 GMT+0000 (UTC),
statusCode: 400
我的问题:有没有办法在项目列表中存储重复的值


如对此有任何了解,将不胜感激

在DynamoDB中,
散列键
散列键
+
范围键
组合必须是唯一的

id      
--------
john    
mary    
jane    
在仅哈希键(
id
)表上,
id
必须是唯一的

id      
--------
john    
mary    
jane    
在哈希键(
id
)+范围键(
timestamp
)表上,
id
+
timestamp
的组合必须是唯一的

id      | timestamp
--------|-------------------------
john    | 2014-04-28T07:53:29.000Z
john    | 2014-04-28T08:53:29.000Z
john    | 2014-04-28T09:53:29.000Z
mary    | 2014-04-28T07:53:29.000Z
jane    | 2014-04-28T07:53:29.000Z
如果您的表有一个类型为
字符串集的
散列键
,那么DynamoDB希望
字符串集
的值也是唯一的

id (String Set)     
------------------------
["john"]
["mary"]
["jane"]
["john", "mary"]    
["john", "jane"]
["john", "jane", "mary"]
因此,如果您试图实现以下目标,则可以执行if,因为每个组合都是唯一的

id (String Set)     
----------------
["john", "mary"]
["john", "jane"]
但如果您试图实现以下目标,则会发生异常:

id (String Set)     
----------------
["john", "mary"]
["john", "mary"]
不,字符串“list”实际上是“set”。如果您试图添加一个包含重复值的值列表,则会出现这样的异常;如果您试图添加集合中已经存在的值,它将以静默方式成功