问题标签 [pynamodb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
269 浏览

python - 是否可以使用独占终端节点在 DynamoDB 全局二级索引上生成 BETWEEN 查询?

默认情况下,BETWEEN 查询的端点是包含的。我想使用专有端点查询一系列日期时间。

我目前正在使用 pynamo,所以我的查询是:

我不想包含具有create_dateof 的项目end_datetime。在我当前的偏好顺序中,不太理想的选项是create_date == end_datetime在查询之后显式过滤掉项目,create_date从索引中删除并使用过滤条件获得结果,并end_datetime通过在发送到查询之前减去微秒来调整。

有什么方法可以直接支持这一点,或者对首选的解决方法有建议吗?

0 投票
0 回答
116 浏览

amazon-dynamodb - 使用 Pynamodb 保存对象创建日期时间

我只想在creation_datetime创建新对象时更新,并在使用该方法last_update_datetime时在每次更新时更新。即使现有对象正在更新,也正在更新时间。有什么选择吗?savedefault_for_new

下面是我试过的示例代码

0 投票
0 回答
59 浏览

python-3.x - PynamoDb - 递增/递减动态属性

是否可以创建和使用 DynamicMapAttributes 等动态属性?我想要实现的是,创建和设置/更新/递增/递减动态属性及其值。

例如,

然后在稍后的时间点在交易中,

Student.<subject_name>.add(10)

我可以将 Sub 和 Score 放在 DynamicMapAttribute 中,但在增加/减少它时,DynamoDB 似乎不允许对地图元素这样做。

我尝试创建如下所示的 DynamicMapAttribute 实例,但仍然不知道如何对属性执行递增/递减等操作。

但是然后我如何在不检索它的情况下增加/减少值并添加它(这反过来又无法达到ADD的目的)

任何想法?

PS:我不能在这里做这样的事情,哪里a_date_time/a_number是静态的。https://github.com/pynamodb/PynamoDB/blob/58ff97f42f3ed1e546335e6b86f943ca3c23f7f3/pynamodb/attributes.py#L1000

0 投票
0 回答
97 浏览

python-3.x - Pynamodb - 对列表的 Map 成员进行添加/更新操作

我有一个pynamodb如下所示的模型,

而且,我正在更新根属性,如下所示,

有没有办法TicketInfo.ticketCount像我们添加/更新一样添加/更新AccessTicketMetrics.totalUniqueTickets

0 投票
0 回答
51 浏览

transactions - PynamoDB TransactWrite 更新抛出 ValidationException

我有一个看起来像这样的模型:

控制器代码:

transaction.update 总是以 ValidationException 失败。不确定是什么问题。如果有一种方法可以了解 ValidationException 发生在哪里,那会很棒,因为我看到的只是“任务错误 ValidationException”,因此不知道哪个字段导致了问题。

0 投票
0 回答
253 浏览

python - PynamoDB query() 返回 0 值,而 scan() 确实

我已经声明了一个非常基本的模型并测试了查询和其他功能。我可以运行scan()并从 dynamoDB 中获取所有对象,但是当我运行时,query我什么也得不到。我查看了示例、文档并在互联网上进行了搜索。无法弄清楚我做错了什么。

这是我的模型:

这是我作为示例编写的代码:

如果我boto3用来获取该项目,我可以获取它。

我不知道为什么通过访问boto3是有效的,但不是通过 pynamoDB。任何指导将不胜感激。

0 投票
0 回答
76 浏览

amazon-dynamodb - PynamoDB - 索引未找到元素

我还想通过用户名从我的 DynamoDB 用户表(其中 account_sid 是 hash_key)中检索用户。所以我创建了一个索引,如:

并查询它我正在使用:

然而,即使扫描操作检索 0 个元素,而我可以使用 cli 检索它们:

注意:我使用 localstack 在端口 4567 上本地模拟 DynamoDB 服务。

0 投票
1 回答
40 浏览

django - 在 Django 管理面板中显示 DynamoDB 数据

我想在 Django 管理面板页面上显示来自 DynamoDB 的数据。我已尝试使用 PynamoDB 创建模型并将其注册到管理面板。

我面临以下两个问题:

  1. 仅从 DynamoDB 表中获取属性“id”而不是所有属性。我在使用 boto3 从 DynamoDB 表中获取属性定义时确认了这个问题。

    attribute_definitions = table_name.attribute_definitions

  2. 我面临的第二个问题是在使用管理面板注册创建的模型(通过使用 PynamoDB)时出现错误。我明白了

“TypeError:‘MetaModel’对象不可迭代”

0 投票
1 回答
102 浏览

python-3.x - DynamoDB 中的批量写入操作是否使用多线程策略?

我正在将条目写入 DynamoDB 表:

我怀疑这很慢,所以我正在考虑使用多线程策略,例如concurrent.futures将每个条目写入表:

但是,我在 PynamoDB 的文档中发现了这种批量写入的方法。看起来这是一种加速写入操作的便捷方式。

它是否也使用多线程策略?

PynamoDB 实现是否比concurrent.futures用于批量写入更好?

0 投票
0 回答
34 浏览

python - MapAttribute 的 PynamoDB 动态名称

我目前有点卡住了。我必须使用 pynamodb 创建我们的 dynamodb 模型,这就是我所拥有的(更大模型的一部分,从 DB 中的真实用户导出)

这是我到目前为止得到的:

目前我认为我正确地起床,直到"4":"5":......因为它们是练习名称。这个想法是这个结构应该代表一个包列表,然后在一个带有它们的 id 和更多信息的练习列表中......我需要一种方法将它从当前的 db json 映射到我可以与 PynamoDB 一起使用的类. 甚至可能吗?

谢谢!

我已经尝试过DynamicMapAttribute,但我不知道它是否适用于我的配置。我也不知道如何使用自定义属性来克服这个问题。