我在用AppendBlob
在 Azure 中进行日志记录。经过一段时间我经历了409 Conflict Error
。我的猜测是已达到最大块/写入量(50.000)。
有什么方法可以获取 blob 中的块/写入数量吗?
In Azure 参考 https://msdn.microsoft.com/en-us/library/azure/mt420159.aspx,你可以找到表Blob 服务错误代码 https://msdn.microsoft.com/en-us/library/azure/dd179439.aspx针对 Blob 服务的操作可能返回的错误代码列表包括Conflict 409
,请参见下文。
最大的详细信息AppendBlob
,您可以参考该部分About Append Blobs
参考页的Understanding Block Blobs, Append Blobs, and Page Blobs https://msdn.microsoft.com/en-us/library/azure/ee691964.aspx如下。
追加 blob 中的每个块可以具有不同的大小,最大可达 4 MB,并且追加 blob 最多可包含 50,000 个块。因此,追加 blob 的最大大小略大于 195 GB(4 MB X 50,000 块)。
正如 @yonisha 所说,如果使用 REST APIAppend Block http://Append%20Block,您可以获得块数AppendBlob
通过获取响应头x-ms-blob-committed-block-count
这是 blob 中存在的已提交块的数量,可用于控制可以完成多少附加操作。
对于 C#,通过属性获取块计数AppendBlobCommittedBlockCount
形成BlobProperties
对于对象CloudAppendBlob
,请参阅参考资料BlobProperties.AppendBlobCommissedBlockCount 属性 https://msdn.microsoft.com/en-us/library/azure/microsoft.windowsazure.storage.blob.blobproperties.appendblobcommittedblockcount.aspx.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)