Amazon dynamodb 试图将相同的值放入项';s列表并获取ValidationException
我最近决定试用amazon dynamodb,但仍在努力掌握它 在我的用例中,我必须将两个变量存储到DynamoDB的项中,这两个变量的值与字符串列表(“SS”)的值相同。当我试着这么做的时候,这就是我得到的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
[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”。如果您试图添加一个包含重复值的值列表,则会出现这样的异常;如果您试图添加集合中已经存在的值,它将以静默方式成功