1

我偶尔会在 Azure 中下载块 blob 异常。异常消息如下所示:

StorageException: Blob data corrupted. Incorrect number of bytes received

我的问题是:

  1. 这是 Azure 服务器端的问题,还是由于我的客户端代码中的错误?
  2. 有没有人见过这个并且知道修复应该是什么?

关于这个问题的更多信息 - 如果我稍后尝试阅读相同的 BlockBlob,它似乎可以使用相同的确切代码下载它。

谢谢,瑞

4

2 回答 2

1

我刚刚得到确认,这不是由于用户代码。Azure API 为下载 blob 建立的下载连接被提前切断,导致字节数不正确的问题。

自从我提出这个问题以来,我的服务器一直没有受到影响,问题已经完全消失了。我的服务器运行的请求量与之前完全相同。

谢谢,瑞

于 2013-07-29T09:22:11.450 回答
1

此异常表示传输过程中的数据完整性问题。检查ErrorCodeExtendedErrorInformationStatusCode属性以获取更多详细信息。

Windows Azure Blob MD5 概述解释了如何应用可选的 MD5 检查来确保数据完整性。这仅适用于 HTTP 连接;由于 HTTPS 提供传输层安全性,因此在通过 HTTPS 连接时不需要额外的 MD5 检查,因为这将是多余的。

处理此问题的最合适方法可能是通过瞬态故障处理。Enterprise Library 6提供了可用于实现容错的瞬态故障处理应用程序块。有关其他信息,请参阅处理 Windows Azure 存储暂时故障

于 2013-07-26T16:46:56.673 回答