将同一文件同时上载到Azure Blob存储

时间:2018-06-01 00:21:50

标签: azure file-upload azure-storage-blobs

我可能有两个用户独立使用应用程序将一组文件上传到Azure存储[Blob]。上传的两组文件有可能具有一个或多个公共文件。这意味着可以同时从应用程序的每个实例上载相同的文件。

  • 第一次上传完成是否成功,导致其他上传完成失败,因为已存在同名文件?
  • 或者第一个上传开始成功,导致另一个上传在检测到另一个流写入完全相同的位置后立即失败?

1 个答案:

答案 0 :(得分:1)

对您的两个问题的回答是否定的。如果存在同名的blob,Azure存储的默认行为是覆盖blob。因此,在您的方案中,第一个用户上传的blob将被第二个用户上传的blob覆盖。

然而,blob上传操作支持Conditional Request Headers,您可以通过在上传请求中包含值为If-None-Match的{​​{1}}请求标头,让Azure存储无法完成第二次上传操作。然后,只有在blob不存在时才会成功上传请求。