Azure AppendBlob 块/写入数

azr*_*ael 4 c# azure azure-storage-blobs

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

有没有办法获得 blob 中的块数/写入数?

Pet*_*Pan 5

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

在此处输入图片说明

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

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

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

对于C#,获得通过属性块数AppendBlobCommittedBlockCount构成BlobProperties的对象CloudAppendBlob,请参阅参考BlobProperties.AppendBlobCommittedBlockCount属性