私がビルドしているアプリは、azureにいくつかのblockblobをダウンロードしてアップロードします。私は現在v6.1を使用しており、すべて正常に動作します。しかし、次の問題のためにv7にアップグレードすることはできません:Azureストレージ、CloudBlobClientを使用しないBlobRequestOptionsを使用
私は多分間違っているかもしれませんが、接続文字列を保存したくないので、アプリケーションに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));
これは非常にうまく動作しますが、ブロブ.ServiceClient.ParallelOperationThreadCount = 10;私がまだ見たことから、BlobRequestOptionsという項目は、私が(多分悪い理由で)使用しないことを決めたCloudBlobClientでのみ定義できます。
私はさまざまなオプションを検討していた、もう1つは、最良であるべきでいくつかのアドバイスを探していました: 1 - 奇跡が起こると私はAzureストレージAPI v6.1では に滞在CloudBlobClient 2 - なしBlobRequestOptionsを使用することができます3 - 私は私のMVC WebサービスからCLoudBLobClientを取得し、私はそれ 、4-は誰もが同じように私はネット
おかげでCloudBlobClientを使用することができ、セキュリティのリークではないアプリで接続文字列を持って使用します!
BeginUploadFromStreamを除いて、私が実装したすべての紺色の方法を調べました。ありがとう! –
さらに、ServiceClientのデフォルトのすべては、ServiceClientのデフォルトのrequestOptionsオブジェクトを使用して非推奨になりました。リクエストごとにRequestOptionsオブジェクトを渡したくない場合は、blob.ServiceClient.DefaultRequestOptions.ParallelOperationThreadCountでデフォルト値を設定することができます –