Sto utilizzando il pacchetto Azur SDK Nuget più recente, rilasciato oggi 3.0 e che tenta di funzionare con lo spazio di archiviazione BLOB localmente nel mio ambiente di sviluppo. Ho creato un blob nella memoria di sviluppo locale utilizzando Azure Storage Explorer e sto cercando di leggere i dati, ma ho ricevuto 400 richieste errate. Quando scrivo nell'oggetto risposta restituito dall'eccezione, si dice "Il valore di una delle intestazioni HTTP non è nel formato corretto"..NET Azure SDK - Richiesta BLOB restituisce 400 BadRequest
La cosa strana è che quando ho messo l'URL completo in un browser scarica il blob bene (http://xxx.x.x.x:10000/devstoreaccount1/test/722b6bea-d609-48e0-a4af-3ed0f5160ad9)
Ecco il codice che sto usando:
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();
Ho anche cercato di creare un nuovo blob nel codice e sto ottenendo la stessa eccezione
Ho installato l'ultimo SDK di Azure .NET che è 2.2 per quanto posso dire, quindi non sono sicuro che sia lo stesso problema. A meno che, per qualche ragione, il nuovo pacchetto NuGet che è 3.0 non funzioni con l'ultima versione dell'emulatore 2.2. –
Sembra che il pacchetto 3.0 di Azure Storage NuGet rilasciato oggi non giochi bene con Azure SDK per .NET 2.2, che è l'ultimo che posso trovare da installare. Quando ho effettuato il downgrade al pacchetto NuGet 2.1.0.4, ha iniziato a funzionare come previsto. Immagino che presto verrà rilasciato un nuovo SDK che risolverà questo problema, ma per ora non dovrò effettuare l'upgrade, quindi posso lavorare localmente con lo storage Blob. –
Non utilizzare la libreria Client di archiviazione 3.0 poiché utilizza la versione più recente del servizio di archiviazione che non è ancora supportata nell'emulatore di archiviazione. Basato sul post del blog dal team di archiviazione: http://blogs.msdn.com/b/windowsazurestorage/archive/2013/11/27/windows-azure-storage-release-introducing-cors-json-minute-metrics-and -more.aspx, il supporto per l'ultima versione del servizio di archiviazione in emulatore arriverà tra un paio di mesi. –