gpt4 book ai didi

transactions - 如何在 CosmosDB 中恢复或回滚更新?

转载 作者:行者123 更新时间:2023-12-05 06:22:19 24 4
gpt4 key购买 nike

作为事务的一部分,我正在 Azure CosmosDB SQL API 中插入 JSON 文档。我正在使用 SDK Microsoft.Azure.DocumentDB.Core

我还有另一个 SQL Server 更新发生在相同的事务范围(不是 .NET 事务范围类)。如果 SQL Server 更新失败,我想还原/回滚对 CosmosDB 所做的更改。我应该使用 SDK 中的什么命令或选项来执行此操作?

最佳答案

我想你在这里问的是你的 Cosmos DB 更新是否可以参与自动管理的分布式事务,我相信答案是否定的。 Cosmos 中的交易支持有些有限。

  • Cosmos DB 引擎支持的任何事务都限定为单个容器中的单个分区,这意味着您不能更新不同容器中的文档,甚至无法将同一容器中的不同分区作为单个事务的一部分进行更新。
  • 直到最近,获得事务支持的唯一方法是使用服务器端存储过程。用version 3.4 of the .Net SDK您现在可以从您的 .Net 代码执行事务,但单个分区限制仍然适用。
  • 没有内置支持参与与其他数据库或服务的分布式事务。

为了作为单个原子事务的一部分在 Cosmos DB 和 SQL Server 数据库中执行操作,您需要编写一些代码来自行管理。 Check here对于分布式事务的良好入门。

关于transactions - 如何在 CosmosDB 中恢复或回滚更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59313381/

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