问题标签 [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 投票
0 回答
290 浏览

python - 使用 pynamodb 库创建 dynamodb 记录时,“NoneType”对象不可迭代

我正在尝试创建记录并将其保存到 DynamoDB

在哪里appsservices看起来像这样

我在日志中检查它们,它们不是空的,也不是None包含我期望的数据。但是,当我尝试执行save它失败并出现错误

我的model定义看起来像这样

怎么了?我想这可能与我的属性定义有关...

0 投票
3 回答
1555 浏览

pynamodb - JSON 表示 PynamoDB 实例

我无法从 PynamoDB 实例获取 JSON 表示。这是模型。

我需要的是 my_test 的 JSON 表示。

我尝试过的事情是。

  1. my_test.to_dict() - 这给出了一个非属性错误

  2. json.dumps(my_test.to_dict(), 缩进=2)

任何帮助,将不胜感激。

0 投票
1 回答
376 浏览

amazon-web-services - 在 python 的 dynamodb 中使用全局二级索引时出错

我在 AWS dynamodb 中创建了一个全局二级索引,其中在我将手机用作 GSI 的用户表中。我收到一条消息错误:

'Table UsersTable 没有索引:PHONE_INDEX'

下面是作为 GSI 的用户表和电话的代码片段。我无法弄清楚我收到此错误的原因。

0 投票
0 回答
1057 浏览

python - PynamoDB:如何更新 MapAttribute 的 ListAttribute 中的属性

我正在学习如何在我的 Python 代码中使用 PynamoDB 与 AWS DynamoDB 一起工作。这是我到目前为止所定义的:

以下是我添加到地图属性列表 ( employees) 的方式:

这是我在新创建的 DynamoDB 表中看到的内容OfficeModel

在此处输入图像描述

现在我需要向333集合office_employee_direct_idswhere office_employee_id==添加另一个值,例如 ,111我如何使用 PynamoDB 来做到这一点?谢谢你的帮助!

0 投票
1 回答
287 浏览

python - PynamoDB 单表设计 OrgsAndUsers

我正在尝试使用 pynamodb 创建这个单表:

在此处输入图像描述

这就是我为 OrgModel 所拥有的:

如何建模用户对象?如何设置OrgModel为用户的分区键?

pynamodb 是用于在 python 中进行 dynamodb 编程的好包吗?

0 投票
0 回答
256 浏览

python - 使用 pynamodb 从 dynamodb 检索数据

我开始使用 pynamodb(和 dynamodb),但不知道如何使用它。

我有:

  • 一个 dynamodb 表
  • 一个拉姆达

在 lambda 中运行此代码,我可以成功创建两个条目(我在 dynamodb 管理控制台中看到它们):

然后我尝试检索这些条目之一,运行以下代码:

这是我得到的输出:

问题:

  • 当我可以从管理控制台清楚地看到两个条目时,为什么User.count()返回零?
  • 为什么不能从数据库中检索用户?
0 投票
1 回答
148 浏览

pynamodb - 如何在 pynamodb 中创建只读模型属性?

我正在开发一个模型,该模型通过简单的 hack 实现只读属性:

有了这个技巧,用户在创建实例时需要提供updated_at,即使该值将被忽略。

这个直接的问题可以通过 来解决updated_at = UTCDateTimeAttribute(null=True),但现在模型发出的信号updated_at可能不是响应的一部分,但事实并非如此。

基本上,我如何向用户表明他们不能为字段提供值(理想情况下尝试设置updated_at应该会导致错误),但是该模型的每个实例都会有该字段的值?

0 投票
0 回答
148 浏览

python - 如何创建延迟加载的 JSON 可序列化字段?

我从一个代表 DynamoDB 数据库表的类开始:

我有几个涉及这个类的测试。他们中的一些人以永远不会真正与云对话的方式使用FooModel实例(我已经通过使用pytest-socket--disable-socket标志来确保这一点)。

问题是因为 Reasons™ 我已经更改了要由云提供商生成的表名。这意味着任何实际需要的生产代码都table_name 必须与云提供商联系。现在,如果我只是简单地进行table_name = get_table_name(…)离线测试将失败,因为该代码是在导入时执行的。但是,我仍然希望单元测试脱机运行,因此我将该字段更改为一个属性,该属性调用一个方法来在运行时查找实际值:

这使得离线测试通过而无需引入任何复杂的模拟框架或在测试和生产期间运行不同的代码路径。问题是验收测试(针对已部署的云基础设施运行)失败,因为 boto3 正在尝试将属性序列化为 JSON 并且失败:

如何在引入更多框架并确保生产代码路径与测试代码路径相同的情况下解决此问题?

如果您想查看相关问题实际代码。

0 投票
1 回答
134 浏览

python-3.x - PynamoDb - 增量操作

有没有办法使用以下代码片段pynamodb

根据此处的测试和此处文档,我可以看到它是受支持的,但是当我尝试对add如下所示的数字字段进行操作时,它会引发AttributeError: 'int' object has no attribute 'add' 异常。

test_table.balance.add(int(dep_amount))

0 投票
1 回答
63 浏览

python - 如何使用 PynamoDB 实例化具有本地二级索引的类模型?

我需要用 PynamoDB 库实例化一个使用本地二级索引的类模型,但我遇到了错误。我的代码:

这是我第一次在 PynamoDB 中使用索引(本地或全局)。文档实际上并没有给出使用索引实例化模型类的示例(我已经看到),只是模型/索引定义以及查询示例(我指的是readthedocs heregithub examples here) .

我第一次尝试测试这个看起来像这样:

...但我在MyIndex构造函数中收到以下错误:

删除第一个参数my_org_id给了我上面的错误...but 2 were given。我也尝试过user_index = 'abc123'user_id = 'abc123'但在这两种情况下我都得到了ValueError: Attribute user_* specified does not exist.

有人可以告诉我这应该如何工作或向我指出一个工作示例的方向吗?