如何设置DynamoDB范围键,字符串或映射

时间:2018-06-11 17:19:48

标签: amazon-dynamodb

我有一个DynamoDB表,其中包含主哈希键和范围键。范围键将具有两个属性。假设这些属性名称为:name1, name2,值为value1, value2

计划A :将两个属性组合为字符串,使用逗号作为分隔符
主哈希键:id
范围键:value1,value2

缺点
1.如果某些有线值包含此分隔符,则逗号可能无效

计划B :将map转换为范围键的字符串
主哈希键:id
范围键:“{\“name1\”: \“value1\”, \“name2\”: \“value2\”}”

缺点
1.不同的SDK可能导致基于相同值的不同JSON字符串? (不确定),需要支持多个SDK读/写。像Java和Ruby一样

那么,哪种解决方案效果更好?还是有更好的建议?

谢谢! 射线

1 个答案:

答案 0 :(得分:0)

你走在正确的轨道上。关于关键设计的AWS文档会提出您的第一个建议,但它也会对您所说的情况提出一些警告。

我不认为您可能会遇到不同sdk解析器的问题,但我也认为这里的一些预防措施将是一个很好的意识形态。因此,我不是使用sdk直接将json解析为字符串,而是使用自定义函数手动连接值以生成确定性值,如“name1:value1-name2:value2”或“{{1}}”。