从Azure Blob存储容器中下载部分文件-事件网格

问题描述

我正在从Azure Blob存储容器-事件网格下载部分文件。我使用事件网格方法来获取在容器中上载的新Blob文件的事件。我的函数应用程序获取了事件,然后尝试从URL下载blob文件。问题是,如果文件大小约为40Kb,我能够读取完整的文件,但是当文件大小超过60 KB时,它将读取不完整的部分文件。这是在Azure开发环境中完成的

以下是用于读取流中文件的简短代码段:

var blobRef = container.GetBlockBlobReference(fileName);
            string contentReader = string.Empty;
            using (var memoryStream = new MemoryStream())
            {
                if (blobRef.Exists())
                {
                    var blobRequestOptions = new BlobRequestOptions
                    {
                        ServerTimeout = TimeSpan.FromSeconds(50),MaximumExecutionTime = TimeSpan.FromSeconds(120)
                    };
                    await blobRef.DownloadToStreamAsync(memoryStream,null,blobRequestOptions,null);
                    memoryStream.Position = 0;
                    using (var streamReader = new StreamReader(memoryStream))
                    {
                        contentReader = await streamReader.ReadToEndAsync();
                    }
                }
return contentReader;

此代码从调用:

      var dataTask = BLOBProcessingHelper.GetBlobData(container,url);
                    Task.WaitAll(dataTask);
                    var data = dataTask.Result;

解决方法

对不起,..这不是问题,实际上,我们正在跟踪蔚蓝的日志,在日志中,我们正在写入读取的文件数据。事实证明,天蓝色日志流对写入日志有一些大小限制。文件已被完全读取。只是日志没有写完整的数据。 :P

欢呼:)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...