gpt4 book ai didi

python - 使用非哈希键字段查询 dynamoDB(使用 boto/python)

转载 作者:行者123 更新时间:2023-11-28 22:01:53 25 4
gpt4 key购买 nike

我将 dynamoDB 与 boto 一起使用,在我的表的设计/查询中遇到了一些问题。

我希望我的数据看起来像

+---------------------------------------+
hash_key account_id mykey
-----------------------------------------
1 12345 myvalue1
2 12345 myvalue2
3 12345 myvalue3
4 123456 myvalue4
+---------------------------------------+

然后检索帐户 12345 的所有数据。查看 boto 文档,我总是需要 hash_key 可用。我知道我将如何查询这个标准的 SQL/MongoDB,但我找不到 boto 的解决方案。我认为这是可能的?谢谢!

编辑:这似乎可行

+---------------------------------------+
hash_key range_key mykey
-----------------------------------------
12345 12568 myvalue1
12345 53890 myvalue2
12345 12322 myvalue3
123456 23432 myvalue4
+---------------------------------------+

紧随其后

> res = table.query(hash_key='12345')
> for item in res:
> print i

因为我想获取账号#12345的所有条目,不管range_key,我需要query而不是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-when-to-use

关于python - 使用非哈希键字段查询 dynamoDB(使用 boto/python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12484635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com