在Azure Blob存储上创建临时blob

问题描述 投票:0回答:2

有没有一种在Azure上创建临时blob的好方法,然后在上传完成后重命名它?我想实现一个原子上传,如果上传在中途中止,它应该保留blob的原始内容。

对于“好”,我的意思是会立即给我一个可用的blob名称并且理想地“锁定”它。对于高访问率,当另一个应用程序尝试检查相同的blob名称时,甚至检查是否已存在伪临时blob名称可能会有问题。

azure azure-storage azure-storage-blobs
2个回答
1
投票

我不认为你需要重命名,因为,方便的是,blob上传已经是原子的。块以未提交状态上载,然后最后的原子步骤通过提供其ID的列表来提交它们。如果最后一步从未发生过,你根本看不到blob(除非你明确要求“未提交的blob”,你通常不会这样做)。请参阅PutBlockPutBlockList文档中的备注

(最终,所有Block Blob创建最终都会调用“PutBlob”(对于小blob)并且按定义调用原子;或者PutBlock调用序列后跟PutBlockList。例如,.NET Storage Client库使用CloubBlobStream,它调用Put ......完成工作的功能)


0
投票

我不太清楚我理解你的用例,但是你不能重命名一个blob。您需要将其复制到新的blob,才能完成重命名。

© www.soinside.com 2019 - 2024. All rights reserved.