我正在構建下載的應用程序,並在azure上上傳一些blockblobs。我目前正在使用v6.1,一切正常。但我無法升級到v7因爲以下問題:Azure存儲,使用BlobRequestOptions而不使用CloudBlobClient
我可能完全錯了,但我決定不在我的應用程序中有一個CloudBlobClient,因爲我不希望它存儲連接字符串。 相反,從中我會上傳集裝箱/下載是通過Web服務,所以我的實際(和縮短)下載的工作流程提供了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;已棄用,並且從我所看到的尚未取代的BlobRequestOptions項目只能在CloudBlobClient上定義,我決定(也許是因爲不好的原因)不使用CloudBlobClient。
我正在考慮我的各種選擇,並尋找一些建議哪一個應該是最好的: 1-奇蹟就發生了,我可以用BlobRequestOptions沒有CloudBlobClient 2 - 我留在Azure存儲API V6.1 3-我從我的MVC Web服務中獲得CLoudBLobClient並使用它 4-在應用程序中使用連接字符串不是安全漏洞,因此我可以使用CloudBlobClient,因爲每個人都可以在網上使用
謝謝!
看着除了BeginUploadFromStream之外,我實現的每個天藍色方法。謝謝 ! –
此外,ServiceClient上的所有默認值都被棄用,以支持ServiceClient的默認requestOptions對象。如果你不想傳入每個請求的RequestOptions對象,你應該仍然可以使用blob.ServiceClient.DefaultRequestOptions.ParallelOperationThreadCount來設置默認值 –