同时在Azure Blob存储中创建具有相同名称的Blob

时间:2014-12-16 12:07:10

标签: c# azure blob

我有责任同时将一些图像加载到blob存储中。 blob的名称定义为blob的md5。不同的线程可能会尝试从不同的位置加载相同的文件。

现在我需要知道如果首先尝试上传这样的blob,如何阻止其他线程加载相同的文件。

1 个答案:

答案 0 :(得分:5)

您可以通过使用乐观并发来租用它。基本设置一个访问条件,说明此blob将与具有此名称的blob的所有etags不同。如果确实存在带有某个etag的blob,则第二次上传将失败。

var access = AccessCondition.GenerateIfNoneMatchCondition("*");
await blobRef.UploadFromStreamAsync(stream, access, null, null);