在Azure Blob存储上创建临时blob

时间:2017-11-20 18:01:04

标签: azure azure-storage azure-storage-blobs

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

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

2 个答案:

答案 0 :(得分:1)

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

文档中的备注

(最终,所有Block Blob创建最终都会调用“PutBlob”(对于小blob)并且根据定义调用原子;或者是一系列PutBlock调用,后跟PutBlockList。例如,.NET Storage Client库使用CloubBlobStream,调用那些Put ...函数来完成它的工作)

答案 1 :(得分:0)

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