我正在使用最新的Azure SDK Nuget包,它是今天發佈的3.0,並嘗試在本地開發環境中使用Blob存儲。我使用Azure存儲資源管理器在本地開發存儲中創建了一個Blob,並試圖讀取數據,但返回了400個錯誤請求。當我挖掘由異常返回的響應對象時,它說「HTTP標頭之一的值的格式不正確。」.NET Azure SDK - Blob請求返回400 BadRequest
奇怪的是,當我把完整的URL在瀏覽器中它下載一滴就好(http://xxx.x.x.x:10000/devstoreaccount1/test/722b6bea-d609-48e0-a4af-3ed0f5160ad9)
這裏是我使用的代碼:
var storageAccount = Microsoft.WindowsAzure.Storage.CloudStorageAccount.Parse("UseDevelopmentStorage=true");
var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference("test");
var blob = container.GetBlockBlobReference("722b6bea-d609-48e0-a4af-3ed0f5160ad9");
var text = blob.DownloadText();
我也嘗試創建在代碼中新斑塊和我得到相同的異常
我已經安裝了最新的.NET Azure SDK,據我所知,這是2.2,所以我不確定它是同一個問題。除非由於某種原因,3.0版的新NuGet軟件包不適用於2.2版本的最新版本的模擬器。 –
看起來像今天發佈的Azure存儲NuGet包版本3.0不能很好地與Azure SDK for .NET 2.2兼容,後者是我可以找到的最新版本。當我降級到2.1.0.4 NuGet包時,它開始按預期工作。我猜想一個新的SDK即將推出,將解決這個問題,但現在我不得不升級,所以我可以在本地使用Blob存儲工作。 –
請勿使用Storage Client Library 3.0,因爲它利用存儲模擬器尚不支持的最新存儲服務版本。根據存儲團隊的博客文章:http://blogs.msdn.com/b/windowsazurestorage/archive/2013/11/27/windows-azure-storage-release-introducing-cors-json-minute-metrics-and -more.aspx,對模擬器中最新的存儲服務版本的支持將在幾個月後發佈。 –