gpt4 book ai didi

Azure 存储 blob - 与 Etag 的乐观并发

转载 作者:行者123 更新时间:2023-12-03 04:25:34 25 4
gpt4 key购买 nike

我们有一个多写入器场景,其中多个进程可以写入同一个 block blob。我们正在探索使用 ETag 实现乐观并发的选项。如果存在冲突,存储客户端会抛出异常。现在冲突很正常,因此抛出大量异常可能会降低进程的吞吐量。有没有一种方法可以识别并发更新,而不会从 azure 存储客户端抛出异常。

最佳答案

据我所知,我们无法直接识别并发更新。 Azure 存储服务检查 blob 是否根据 etag 进行更新。如果 etag 与存储服务资源的 etag 不相等。它将在响应中返回 409 错误。

我们没有权限更改服务器返回 409 错误响应。

唯一的方法是在更新 blob 之前,我们首先请求 etag。

但是如果另一个进程更新了blob,etag发生了变化,它仍然会返回409错误。

这里有一个解决方法。如果您使用azure storage SDK,它会提供retry method ,您可以使用它来避免显示异常并将请求重新发送到 azure 以再次更新 blob。但Azure存储仍然会向客户端返回409响应。

如果您使用rest api,我建议您可以使用try catch捕获异常并再次尝试发送rest api请求。

关于Azure 存储 blob - 与 Etag 的乐观并发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43862773/

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