L-R*_*L-R 2 python boto amazon-web-services amazon-dynamodb
我正在使用带有boto的dynamoDB,并且在我的表的设计/查询中遇到了一些问题.
我希望我的数据看起来像
+---------------------------------------+
hash_key account_id mykey
-----------------------------------------
1 12345 myvalue1
2 12345 myvalue2
3 12345 myvalue3
4 123456 myvalue4
+---------------------------------------+
Run Code Online (Sandbox Code Playgroud)
然后检索帐户12345的所有数据.查看boto文档,我总是需要hash_key可用.我知道如何查询这个标准的SQL/MongoDB,但我找不到boto的解决方案.我认为这是可能的吗?谢谢!
编辑:这似乎工作
+---------------------------------------+
hash_key range_key mykey
-----------------------------------------
12345 12568 myvalue1
12345 53890 myvalue2
12345 12322 myvalue3
123456 23432 myvalue4
+---------------------------------------+
Run Code Online (Sandbox Code Playgroud)
其次是
> res = table.query(hash_key='12345')
> for item in res:
> print i
Run Code Online (Sandbox Code Playgroud)
由于我想要使用帐户#12345获取所有条目,无论range_key如何,我都需要查询而不是get_item
我会使用account_id hash_key和一些range_key来区分它们.
在DynamoDB中,主键由(hash_key,range_key)range_key是可选的.这个元组必须是唯一的.请注意,您将需要整个元组来访问给定元素get_item.
拥有'auto_increment' hash_key是SQL世界的坏习惯.
如果你想更多地了解这个主题,我在dynamodb-mapper文档中写了一些关于建模数据的背景知识:http://dynamodb-mapper.readthedocs.org/en/latest/api/model.html#auto-increment -当使用的