我可能有两个用户独立使用应用程序将一组文件上传到 Azure 存储 [Blob]。正在上传的两组文件可能具有一个或多个公共(public)文件。这意味着可以从应用程序的每个实例同时上传相同的文件。
- 第一个上传是否成功完成,导致另一个上传在完成时失败,因为已存在同名文件?
- 或者,第一个上传是否成功,导致另一个上传在检测到另一个流被写入完全相同的位置时立即失败?
最佳答案
您的两个问题的答案都是“否”。Azure 存储的默认行为是如果存在同名的 blob,则覆盖该 blob。因此,在您的场景中,第一个用户上传的 blob 将被第二个用户上传的 blob 覆盖。
但是 blob 上传操作支持 Conditional Request Headers
您可以通过在上传请求中包含值为 *
的 If-None-Match
请求 header 来要求 Azure 存储使第二次上传操作失败。那么只有当blob不存在时上传请求才会成功。
关于azure - 将同一文件同时上传到 Azure Blob 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50634513/