Azure Blob的原子更新

时间:2015-06-24 23:55:16

标签: azure azure-storage-blobs

我知道在Azure表存储中,可以原子地连续更新两个条目。是否可以原子方式更新Azure Blob的内容+元数据?

如果我这样做

blob.Metadata["field"] = "helloworld"
blob.UploadFromStream(stream,accessCondition)

会以原子方式更新吗? (请注意,如果存在“helloworld”,我保证blob的内容将成为流吗?

2 个答案:

答案 0 :(得分:1)

回答你的问题是肯定的,元数据和流都会出现。

基本上当你这样做时:

blob.Metadata["field"] = "helloworld"

没有进行网络通话。此属性存储在blob对象中。

blob.UploadFromStream(stream,accessCondition)

上面的行实际上是进行网络调用,并在blob存储中设置blob内容和元数据。

答案 1 :(得分:0)

如果您正在使用Block Blob,您可以先调用Put Block来上传内容,然后通过一个请求调用Put Block List来提交blob内容和元数据。