从Azure函数中的天蓝色blob容器读取八位字节流时 发生超时错误

问题描述 投票:0回答:1

我有一个天蓝色函数,需要从天蓝色blob容器中获取图像,然后将其发送到外部API。为此,我将其下载到内存流,然后将其作为流发送到API。

我用于此的代码如下:

           var storageConnection = Environment.GetEnvironmentVariable("AZURE_STORAGE_CONNECTION_STRING");
           var containerName = Environment.GetEnvironmentVariable("BlobContainerName");

           var cloudStorageAccount = CloudStorageAccount.Parse(storageConnection); 
           var blobClient = cloudStorageAccount.CreateCloudBlobClient();

           var cloudBlobContainer = blobClient.GetContainerReference(containerName); 
           var blockBlob = cloudBlobContainer.GetBlockBlobReference(filename);

           var memStream = new MemoryStream();
           blockBlob.DownloadToStream(memStream);

这对于普通图像来说效果很好,但是对于保存为八位字节流的项目(在通过特定的上传页面上传图像时发生)不知何故不起作用。

没有人知道这是为什么以及如何解决?预先感谢!

c# azure-functions azure-storage-blobs memorystream
1个回答
0
投票

如果其他人遇到这个问题,我可以很轻松地解决它:

代替

var memStream = new MemoryStream();
blockBlob.DownloadToStream(memStream);

我用过

var stream = await blockBlob.OpenReadAsync();
© www.soinside.com 2019 - 2024. All rights reserved.