我正在从BlockBlob读取一个文件。文件大小保证小于64 MB。因此,它是单块操作。在读取文件后,我将更改其中的一些部分,并通过UploadFromStream函数CloudBlockBlob重新上传它。我的问题是“大小小于64 MB的UploadFromStream CloudBlockBlob函数是原子函数吗?”是否有可能在写入过程中出现异常后,在蔚蓝存储中有一个损坏的文件?
注意:我已经向similar question请求AppendBlobs,并得到了一个答案,即它是原子的。
发布于 2016-03-14 17:11:50
是的,如果它小于64 as,它是原子的,除非您将并行化作为数据块。即使是大于64‘s的数据块块,也有两个步骤提交过程,所以如果上传在中间失败,您仍然处于相对良好的状态。如果我们上传4MB块中的数据块,我们还必须提交这些块。因此,如果上传失败,我们不会提交,而您所拥有的只是一些额外的未提交块,只能通过get阻止列表操作访问(也就是,未提交的块是不可下载的)。因此,对于块块,上传失败的中间不会覆盖您现有的数据或破坏它的一般。
https://stackoverflow.com/questions/35992005
复制相似问题