azure - 使用 Azure Cosmos 和 Blob 存储的分布式事务

标签 azure .net-core azure-cosmosdb azure-blob-storage

我们计划在单个事务中上传 blob 中的一些文件和 Cosmos Db 中的数据

是否可以在 Azure Cosmos DB 和 Azure Blob 存储之间实现分布式事务?如果任何操作失败,则其他操作也应该恢复。

如果不可能,那么是否有任何理想的方法可以通过任何 Azure 组件实现此功能?

最佳答案

据我所知,跨多个azure组件没有这样的事务机制(如果是的话,可能只是针对sql数据库)。

我的想法:

1.使用Azure Function,请参见此案例:Transactions in Azure Functions with multiple outputs 。您可以按照@Mikhail Shilkov 提到的解决方法,使用服务总线。一些细节在这个link .

2.自行编程实现try-catch。将所有业务包含在一个try-catch范围内,如果捕获任何异常,则在数据已存在的情况下执行删除操作。

关于azure - 使用 Azure Cosmos 和 Blob 存储的分布式事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57589701/

相关文章:

Azure 公钥解释了吗?

.net-core - .NET Core 等效于 CallContext.LogicalGet/SetData

c# - 如何找出要添加到包含命名空间 System.Windows.Xps.Packaging 的 .Net Core 3 Preview 6 应用程序的程序集?

azure - 是否可以将更改源处理器主机作为 Azure Web 作业运行?

javascript - (AZURE cosmosDB/mongoDB) 更新数组中对象的特定元素的字段

sql - 使用适用于 Windows Phone 的 odata 客户端库插入 Unicode 字符串

azure - Windows Azure - 需要从内部停止 WorkerRole

azure - 如何优化区域部署以最小化感知延迟并最大程度地节省成本?

c# - SQLAzureExecutionStrategy ShouldRetryOn 未在 EF 异常上调用

c# - Azure 函数服务总线触发器从函数级别设置自动完成