python - 与 DynamoDB 库 Boto3 的事务

标签 python amazon-web-services amazon-dynamodb boto3

有没有办法使用 Boto3(Python 库)进行 ACID 事务?

我想将一个项目写入多个表,并确保写入已应用于所有表,否则回滚。我阅读了 Boto3 文档,没有看到任何提及事务或 ACID 操作的内容。

我查看了这个库: http://dynamodb-mapper.readthedocs.io/en/latest/

我检查了代码,它似乎使用的是旧的 bo​​to 库,并且似乎不再受支持。

我知道有一个用于事务的 AWS 解决方案: https://aws.amazon.com/blogs/aws/dynamodb-transaction-library/

这是使用 Java 代码完成的。我想知道你们中是否有人能够使用 Boto3 在 DynamoDB 上执行事务?

谢谢

最佳答案

boto3 库不提供任何对跨表事务的支持,就像您引用的 Java 客户端库所支持的那样。 DynamoDB 本身并不原生支持此功能,因此此类事务必须在客户端层实现,并且您的表必须设计为支持客户端软件所需的字段。

当然有可能实现一个类似于 Java 的 Python 事务客户端,但据我所知,还没有人做到了。

关于python - 与 DynamoDB 库 Boto3 的事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41668694/

相关文章:

amazon-web-services - 如何禁用 'aws s3 sync' 的分段上传以防止元数据丢失

ruby-on-rails - 在亚马逊云上存储 Heroku 应用程序 Assets 的 Rails 方式

c# - 如何使用对象持久性模型在 C# 中动态更改 dynamodb 表名

python - 从另一个 DataFrame 初始化一个新的 DataFrame 时 dtypes 改变了

python - 在曲面图上画线

python - 如何使用 Python 字典按标签名称对 AWS 实例进行分组?

node.js - 使用 Node.js 在 DynamoDB 中分页?

android - 按 boolean 属性过滤 DynamoDBScanExpression

python - 无法使用 XCode4 在 OSX 10.6.7 上安装 psycopg2

python - 用于持续时间计算的时间戳的快速转换