gpt4 book ai didi

azure - Azure 表存储跨多个表的事务模式?

转载 作者:行者123 更新时间:2023-12-03 00:16:05 24 4
gpt4 key购买 nike

是否有任何软件模式可以支持跨 Azure 表存储中的多个表进行事务?

我想以原子方式从不同的表中写入(或删除)多个实体,例如...

try {
write entity to table A
write entity to table B
} catch {
delete entity from table A
delete entity from table B
}

在上述事务期间,我还想防止任何人写入/删除相同的实体(相同的表、分区键和行键)。

我知道 Azure 存储不直接支持此功能,因此我正在寻找一种模式,可能使用附加表来“锁定”事务中的实体,直到其完成。所有编写者都必须获得实体的锁。

最佳答案

确保在您处理表中的行时没有其他人修改这些行的唯一方法是增加 blob 租赁的开销。您可以让一个实例/线程获取 blob 租约并执行其需要的任何操作。然后,完成后,释放该 blob。如果未能获得租约,则必须等待或稍后重试。

其他基于表的操作(例如悲观并发)实际上不会阻止某人修改记录。

关于azure - Azure 表存储跨多个表的事务模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19018129/

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