将块blob上载到Azure时,“请求正文太大并超出了允许的最大限制”

时间:2017-05-23 07:30:46

标签: c# azure azure-storage azure-sdk-.net azure-blob-storage

我正在尝试将300GB文件上传到Azure Blob存储。以下是我正在使用的代码:

// content = array of bytes ~ 300 GB
using (var stream = new MemoryStream(content))
{
      var blobRequestOptions = new BlobRequestOptions
      {
          ParallelOperationThreadCount = Microsoft.WindowsAzure.Storage.Shared.Protocol.Constants.MaxParallelOperationThreadCount
      };
      blob.UploadFromStream(stream, options: blobRequestOptions);
}

此操作失败,并显示以下消息错误:

  

请求正文太大且超出了允许的最大限制

1 个答案:

答案 0 :(得分:2)

我认为问题(每条评论确认较旧的SDK版本)是客户端SDK版本号。从v8.0开始,支持大的(200GB - > 4.77TB)块blob大小(块现在高达100MB,而旧的4MB限制)。 50,000块的限制仍然适用(因此,100MB x 50,000块提供4.77TB大小)。

之前的SDK版本限制为4MB块,以及200GB块blob大小限制。

  

.NET Client Library(版本8.0.0),Java客户端库(版本5.0.0),Node.js客户端库(版本2.0.0)和最新版本支持更大的块Blob。 AzCopy命令行实用程序(版本5.2.0)。您也可以像往常一样直接使用REST API。 REST API版本2016-05-31及更高版本支持更大的块Blob。

更多信息here