我正在尝试将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);
}
此操作失败,并显示以下消息错误:
请求正文太大且超出了允许的最大限制
答案 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。