代码之家  ›  专栏  ›  技术社区  ›  Web User

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

  •  1
  • Web User  · 技术社区  · 7 年前

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

    • 第一次上载完成是否成功,导致另一次上载在完成时失败,因为已经存在同名文件?
    • 或者,启动的第一次上载是否成功,导致另一次上载在检测到另一个流被写入完全相同的位置时立即失败?
    1 回复  |  直到 7 年前
        1
  •  1
  •   Gaurav Mantri    7 年前

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

    但是blob上传操作支持 Conditional Request Headers 您可以通过以下方式请求Azure Storage使第二次上载操作失败: If-None-Match 值为的请求标头 * 在你的上传请求中。只有当blob不存在时,上传请求才会成功。