Azure AppendBlob块/写入次数

时间:2016-07-07 10:26:24

标签: c# azure azure-storage-blobs

我在Azure中使用AppendBlob进行日志记录。过了一段时间,我经历了409 Conflict Error。我的猜测是达到了最大块数/写入次数(50.000)。

有没有办法计算blob中的块/写数?

3 个答案:

答案 0 :(得分:3)

Azure Reference中,您可以找到Blob Service Error Codes表,其中列出了针对Blob服务包含Conflict 409的操作可能返回的错误代码,请参阅下文。

enter image description here

AppendBlob的最大值详细信息,您可以参考参考页Understanding Block Blobs, Append Blobs, and Page BlobsAbout Append Blobs部分,如下所示。

  

附加blob中的每个块可以是不同的大小,最大为4 MB,附加blob最多可包含50,000个块。因此,追加blob的最大大小略大于195 GB(4 MB X 50,000块)。

正如@yonisha所说,如果使用REST API Append Block,您可以通过获取响应头AppendBlob获取x-ms-blob-committed-block-count的块计数,该头是{4}中存在的已提交块数。 blob,可用于控制可以完成的附加次数。

对于C#,通过属性AppendBlobCommittedBlockCount从对象BlobProperties的{​​{1}}获取块计数,请参阅参考BlobProperties.AppendBlobCommittedBlockCount Property

答案 1 :(得分:1)

对于C#,您只需发出appendBlob.Properties.AppendBlobCommittedBlockCount。

的Wissam

答案 2 :(得分:0)

正如Operations on Append blob documentation所述,附加blob类型上唯一的特定可用操作是'追加块' 操作。

然而,您可以从附加阻止操作的x-ms-blob-committed-block-count 响应标头中获取已提交的阻止计数。来自文档:

  

blob中存在的已提交块数。这可以使用   控制可以完成多少追加。