2012-10-28 7 views
15

Qualcuno ha provato il sdk di Azure di ottobre 2012 con usedevelopmentstorage = true connection string?Azure Ottobre 2012 SDK si è rotto UseDevelopmentStorage = true

CloudStorageAccount.Parse("UseDevelopmentStorage=true") 

genera una "La chiave specificata non era presente nell'eccezione del dizionario".

CloudStorageAccount.DevelopmentStorageAccount 

funziona bene.

Si tratta di un bug nel sdk azzurro?

+0

L'ottobre SDK è 1.7? Se è così non capisco questo errore. –

+0

No. La sua versione 1.8 –

risposta

21

Questo è un bug nella v2.0.0.0 dell'SDK di archiviazione (richiede l'utilizzo di DevelopmentStorageProxyUri nella stringa di connessione se si lavora con lo storage di sviluppo). Queste sono le soluzioni alternative:

  • Non utilizzare l'emulatore
  • Run violinista e superare l'impostazione DevelopmentStorageProxyUri: CloudStorageAccount.Parse("UseDevelopmentStorage=true;DevelopmentStorageProxyUri=http://ipv4.fiddler");
  • riferimento l'account di archiviazione direttamente: CloudStorageAccount.DevelopmentStorageAccount;
+0

ha pensato tanto. Grazie. –

+1

Che carico di merda. Mi sto ammalando di questo "upgrade" a SCL v2. Finora ha richiesto 4 ore della mia vita. Questa è la ciliegina sulla torta (avvelenata) – BritishDeveloper

+4

Risolto in v2.0.1.0: http://nuget.org/packages/WindowsAzure.Storage/2.0.1.0 –

8

Usa:

UseDevelopmentStorage=true;DevelopmentStorageProxyUri=http://127.0.0.1 

Che è una scorciatoia per:

BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw== 
+0

Grazie, questo ha funzionato per me (ed era il modo più semplice per risolvere il problema). –

+0

Quando uso quella stringa di connessione con l'SDK 2.2, ottengo un errore 400 (Richiesta non valida). (Stavo ricevendo un 403 (Proibito) quando si utilizza una stringa di connessione composta da Endpoint e Chiave di archiviazione per sviluppatori). Qualcuno sa se questa stringa di connessione dovrebbe funzionare con SDK 2.2? –

+0

Utilizzo di DevelopmentStorageProxyUri = http: //ipv4.fiddler, il fiddler mostra che l'emulatore di archiviazione sta restituendo la richiesta errata "Il valore di una delle intestazioni HTTP non è nel formato corretto". Le intestazioni sono "User-Agent: WA-Storage/3.0.1 ..." e "Autorizzazione: SharedKey devstoreaccount1: " L'host è 127.0.0.1:10000 e la richiesta è "HEAD/devstoreaccount1/images? restype = container & timeout = 90 "(Sto facendo una richiesta a CreateIfNotExists() per un contenitore chiamato images –

12

Questo problema è stato risolto in una versione recente (versione 2.0.1) disponibile via GitHub e NuGet.

Ci scusiamo per gli eventuali disagi causati.

0

@Stevoman,

Questo funziona, grazie! (E non c'è bisogno di violinista fuoco)

Ma sembra ancora in grado di rompere un certo codice, come il punto finale è http://127.0.0.1:10000/devstoreaccount1 mentre un parse normale da una stringa vera e propria otterrà https://something.blob.core.windows.net/ Nota l'ultima barra. Se uno sta combinando diversi pezzi per un URI, allora devi fare attenzione.

2

Per chi ha problemi con i pacchetti SKD + Nuget di latests. Se si utilizza la versione v3 del pacchetto nugget (WindowsAzure.Storage), si otterrà un'eccezione di 400 richieste errate. Questa versione non è compatibile con l'emulatore. http://social.technet.microsoft.com/Forums/windowsazure/en-US/0fb01e56-8a52-4e98-a8bf-dd517d86d879/windows-azure-storage-developmentstorageaccount-cloudtablecreateifnotexists-always-get-400-http?forum=windowsazuredevelopment.

Downgrade all'ultima versione v2.1: https://www.nuget.org/packages/WindowsAzure.Storage e siete a posto. Aprire la console di Gestione pacchetti ed effettuare le seguenti operazioni:

uninstall-package WindowsAzure.Storage  
install-package WindowsAzure.Storage -version 2.1.0.4 
Problemi correlati