c#-Azure存储,使用不带CloudBlobClient的BlobRequestOptions

我正在构建的应用程序会在azure上下载并上传一些方块.我目前正在使用v6.1,并且一切正常.但是由于以下问题,我无法升级到v7:

我可能完全错了,但是我决定在我的应用程序中不要使用CloudBlobClient,因为我不希望它存储连接字符串.
取而代之的是,我将通过其上载/下载的容器是通过网络服务提供的SAS URI发起的,因此我的实际(并缩短了)下载工作流程如下:

//jsonstring contains a SAS URI provided by a web service
var jsonString = await Response.Response.Content.ReadAsStringAsync();
CloudBlobContainer cloudContainer = new CloudBlobContainer(new Uri(jsonString.Replace('"', ' ').Trim()));

ICloudBlob blob = cloudContainer.GetBlockBlobReference(item.blobName);
await blob.FetchAttributesAsync();
blob.ServiceClient.ParallelOperationThreadCount = 10;

asyncresult = m_Blob.BeginDownloadToStream(pstream, blobTransferCompletedCallback, new BlobTransferAsyncState(m_Blob, pstream));

这工作得很好,但是blob.ServiceClient.ParallelOperationThreadCount = 10;已弃用,并且根据我所看到的,只能在我决定不使用(可能出于不利原因)的CloudBlobClient上定义替换项BlobRequestOptions.

我正在考虑各种选择,并在寻找一些建议中最好的建议:
1-奇迹发生了,我可以在没有CloudBlobClient的情况下使用BlobRequestOptions
2-我仍然使用Azure Storage API v6.1
3-我从我的MVC Web服务中获得了一个CLoudBLobClient并使用它
4-在应用程序中具有连接字符串不会造成安全漏洞,因此我可以像每个人在网络上一样使用CloudBlobClient

谢谢 !

最佳答案
可以触发Azure存储客户端库中的请求的每个方法调用都有一个接受RequestOption的重载.例如,CloudBlob.BeginDownloadToStream的重载为:CloudBlob.BeginDownloadToStream Method (Stream, AccessCondition, BlobRequestOptions, OperationContext, AsyncCallback, Object).

转载注明原文:c#-Azure存储,使用不带CloudBlobClient的BlobRequestOptions - 代码日志