Usare l'emulatore di archiviazione di Azure per lo sviluppo e il test (deprecato)
L'emulatore di archiviazione di Microsoft Azure è uno strumento che emula i servizi BLOB, code e tabelle di Azure a scopo di sviluppo locale. È possibile testare l'applicazione sui servizi di archiviazione in locale senza creare una sottoscrizione di Azure o sostenere costi. Quando si è soddisfatti del funzionamento dell'applicazione nell'emulatore, passare all'uso di un account di archiviazione di Azure nel cloud.
Importante
L'emulatore di archiviazione di Azure è ora deprecato. Microsoft consiglia di usare l'emulatore Azurite per lo sviluppo locale con Archiviazione di Azure. Azurite sostituisce l'emulatore di archiviazione di Azure. Azurite continuerà a essere aggiornato per supportare le versioni più recenti delle API di Archiviazione di Azure. Per altre informazioni, vedere Usare l'emulatore Azurite per lo sviluppo locale di Archiviazione di Azure.
Ottenere l'emulatore di archiviazione
L'emulatore di archiviazione è disponibile come parte dell'SDK Microsoft Azure. È anche possibile installare l'emulatore di archiviazione usando il programma di installazione autonomo (download diretto). Per installare l'emulatore di archiviazione, è necessario disporre di privilegi amministrativi nel computer.
L'emulatore di archiviazione attualmente viene eseguito solo in Windows. Per l'emulazione in Linux, usare l'emulatore Azurite.
Nota
I dati creati in una versione dell'emulatore di archiviazione non sono garantiti per essere accessibili quando si usa una versione diversa. Se è necessario rendere persistenti i dati a lungo termine, è consigliabile archiviare i dati in un account di archiviazione di Azure invece che nell'emulatore di archiviazione.
L'emulatore di archiviazione dipende dalle versioni specifiche delle librerie OData. La sostituzione delle DLL OData usate dall'emulatore di archiviazione con altre versioni non è supportata e può provocare un comportamento imprevisto. Tutte le versioni di OData supportate dal servizio di archiviazione possono tuttavia essere usate per inviare richieste all'emulatore.
Come funziona l'emulatore di archiviazione
L'emulatore di archiviazione usa un'istanza locale di Microsoft SQL Server 2012 Express Local DB per emulare i servizi di archiviazione di Azure. È possibile scegliere di configurare l'emulatore di archiviazione per accedere a un'istanza locale di SQL Server anziché l'istanza Local DB. Per altre informazioni, vedere la sezione Avviare e inizializzare l'emulatore di archiviazione più avanti in questo articolo.
L'emulatore di archiviazione si connette a SQL Server o a Local DB usando l'autenticazione Windows.
Esistono alcune differenze a livello di funzionalità tra l'emulatore di archiviazione e i servizi di archiviazione di Azure. Per altre informazioni su queste differenze, vedere la sezione Differenze tra l'emulatore di archiviazione e Archiviazione di Azure più avanti in questo articolo.
Avviare e inizializzare l'emulatore di archiviazione
Per avviare l'emulatore di archiviazione di Azure:
- Fare clic sul pulsante Start oppure premere il tasto WINDOWS.
- Iniziare a digitare
Azure Storage Emulator
. - Selezionare l'emulatore nell'elenco delle applicazioni visualizzate.
All'avvio dell'emulatore di archiviazione, viene visualizzata una finestra del prompt dei comandi. È possibile usare questa finestra della console per avviare e arrestare l'emulatore di archiviazione. È anche possibile cancellare i dati, ottenere lo stato e inizializzare l'emulatore dal prompt dei comandi. Per altre informazioni, vedere la sezione Informazioni di riferimento sullo strumento da riga di comando dell'emulatore di archiviazione più avanti in questo articolo.
Nota
L'emulatore di archiviazione di Azure potrebbe non essere avviato correttamente se un altro emulatore di archiviazione, ad esempio Azurite, è in esecuzione nel sistema.
Quando l'emulatore è in esecuzione, verrà visualizzata un'icona nell'area di notifica della barra delle applicazioni di Windows.
Quando si chiude la finestra del prompt dei comandi dell'emulatore di archiviazione, questo resta in esecuzione. Per visualizzare di nuovo la finestra della console dell'emulatore di archiviazione, eseguire la procedura precedente come per avviare l'emulatore di archiviazione.
La prima volta che si esegue l'emulatore di archiviazione, l'ambiente di archiviazione locale viene inizializzato automaticamente. Il processo di inizializzazione crea un database in LocalDB e riserva le porte HTTP per ogni servizio di archiviazione locale.
Per impostazione predefinita, l'emulatore di archiviazione viene installato in C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator
.
Suggerimento
È possibile usare Microsoft Azure Storage Explorer per usare risorse dell'emulatore di archiviazione locale. Cercare "(Emulatore - Porte predefinite) (Chiave)" in "Locali e collegati" nell'albero delle risorse di Storage Explorer dopo aver installato e avviato l'emulatore di archiviazione.
Inizializzare l'emulatore di archiviazione per l'uso di un database SQL diverso
È possibile usare lo strumento della riga di comando Emulatore di archiviazione per inizializzare l'emulatore di archiviazione in modo che punti a un'istanza di database SQL diversa dall'istanza Local DB predefinita:
Aprire la finestra della console dell'emulatore di archiviazione come descritto nella sezione Avviare e inizializzare l'emulatore di archiviazione.
Nella finestra della console digitare il comando seguente, dove
<SQLServerInstance>
è il nome dell'istanza di SQL Server. Per usare LocalDB, specificare(localdb)\MSSQLLocalDb
come istanza di SQL Server.AzureStorageEmulator.exe init /server <SQLServerInstance>
Per indicare all'emulatore di usare l'istanza di SQL Server predefinita, digitare il comando seguente:
AzureStorageEmulator.exe init /server .
In alternativa, è possibile usare il comando seguente, che consente di inizializzare nuovamente l'istanza predefinita Local DB:
AzureStorageEmulator.exe init /forceCreate
Per altre informazioni su questi comandi, vedere Informazioni di riferimento sullo strumento da riga di comando dell'emulatore di archiviazione.
Suggerimento
È possibile usare Microsoft SQL Server Management Studio (SSMS) per gestire le istanze di SQL Server, inclusa l'installazione di LocalDB. Nella finestra di dialogo Connetti al server di SMSS specificare (localdb)\MSSQLLocalDb
nel campo Nome server per connettersi all'istanza di LocalDB.
Autenticazione delle richieste nell'emulatore di archiviazione
Dopo aver installato e avviato l'emulatore di archiviazione, è possibile testare il codice sull'emulatore. Ogni richiesta eseguita per l'emulatore di archiviazione deve essere autorizzata, a meno che non si tratti di una richiesta anonima. È possibile autorizzare le richieste nell'emulatore di archiviazione tramite l'autenticazione con chiave condivisa o con una firma di accesso condiviso (SAS, Shared Access Signature).
Autorizzazione con credenziali con chiave condivisa
L'emulatore supporta un singolo account fisso e una chiave di autenticazione nota per l'autenticazione con chiave condivisa. Questo account e la chiave sono le uniche credenziali di chiave condivisa consentite per l'uso con l'emulatore. Sono:
Account name: devstoreaccount1
Account key: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==
Nota
La chiave di autenticazione supportata dall'emulatore è destinata solo al test della funzionalità del codice di autenticazione client. Non viene utilizzata per eventuali scopi di sicurezza. Non è possibile usare l'account di archiviazione di produzione e la chiave con l'emulatore. Non usare l'account di sviluppo con dati di produzione.
L'emulatore supporta solo la connessione tramite HTTP. HTTPS è tuttavia il protocollo consigliato per accedere alle risorse in un account di archiviazione di Azure di produzione.
Connettersi all'account dell'emulatore utilizzando un collegamento
Il modo più semplice per eseguire la connessione all'emulatore dall'applicazione consiste nel configurare una stringa di connessione nel file di configurazione dell'applicazione che fa riferimento al collegamento UseDevelopmentStorage=true
. Il collegamento equivale alla stringa di connessione completa per l'emulatore, che specifica il nome dell'account, la chiave dell'account e gli endpoint dell'emulatore per ognuno dei servizi di archiviazione di Azure:
DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;
AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;
BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;
QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;
TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;
Il frammento di codice .NET seguente illustra come usare il collegamento da un metodo che accetta una stringa di connessione. Ad esempio, il costruttore blobContainerClient(String, String) accetta una stringa di connessione.
BlobContainerClient blobContainerClient = new BlobContainerClient("UseDevelopmentStorage=true", "sample-container");
blobContainerClient.CreateIfNotExists();
Assicurarsi che l'emulatore sia in esecuzione prima di chiamare il codice nel frammento di codice.
Per altre informazioni sulle stringhe di connessione, vedere Configurare le stringhe di connessione di Archiviazione di Azure.
Autorizzazione con una firma di accesso condiviso
Nota
È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.
Alcune librerie client dell'archiviazione di Azure, ad esempio la libreria Xamarin, supportano solo l'autenticazione con un token di firma di accesso condiviso. È possibile creare il token di firma di accesso condiviso usando Storage Explorer o un'altra applicazione che supporta l'autenticazione con chiave condivisa.
È anche possibile generare un token di firma di accesso condiviso usando Azure PowerShell. L'esempio seguente genera un token di firma di accesso condiviso con autorizzazioni complete per un contenitore BLOB:
- Installare Azure PowerShell se non è già stato fatto. È consigliabile usare la versione più recente dei cmdlet di PowerShell. Per le istruzioni di installazione, vedere Installare e configurare Azure PowerShell.
- Aprire Azure PowerShell ed eseguire i comandi seguenti, sostituendo
CONTAINER_NAME
con il nome scelto:
$context = New-AzStorageContext -Local
New-AzStorageContainer CONTAINER_NAME -Permission Off -Context $context
$now = Get-Date
New-AzStorageContainerSASToken -Name CONTAINER_NAME -Permission rwdl -ExpiryTime $now.AddDays(1.0) -Context $context -FullUri
L'URI della firma di accesso condiviso risultante per il nuovo contenitore sarà simile a:
http://127.0.0.1:10000/devstoreaccount1/sascontainer?sv=2012-02-12&se=2015-07-08T00%3A12%3A08Z&sr=c&sp=wl&sig=t%2BbzU9%2B7ry4okULN9S0wst/8MCUhTjrHyV9rDNLSe8g%3Dsss
La firma di accesso condiviso creata con questo esempio è valida per un giorno. La firma concede l'accesso completo (lettura, scrittura, eliminazione ed elenco) ai BLOB all'interno del contenitore.
Per altre informazioni sulle firme di accesso condiviso, vedere Concedere accesso limitato alle risorse di archiviazione di Azure tramite firme di accesso condiviso.
Indirizzamento delle risorse nell'emulatore di archiviazione
Gli endpoint di servizio per l'emulatore di archiviazione sono diversi da quelle di un account di archiviazione di Azure. Il computer locale non esegue la risoluzione dei nomi di dominio, richiedendo che gli endpoint dell'emulatore di archiviazione siano indirizzi locali.
Quando si indirizza una risorsa in un account di archiviazione di Azure, usare lo schema seguente. Il nome dell'account fa parte del nome host dell'URI e la risorsa indirizzata fa parte del percorso URI:
<http|https>://<account-name>.<service-name>.core.windows.net/<resource-path>
Ad esempio, l'URI seguente è un indirizzo valido per un BLOB in un account di archiviazione di Azure:
https://myaccount.blob.core.windows.net/mycontainer/myblob.txt
Poiché il computer locale non esegue la risoluzione dei nomi di dominio, il nome dell'account fa parte del percorso URI anziché del nome host. Usare il formato URI seguente per una risorsa nell'emulatore di archiviazione:
http://<local-machine-address>:<port>/<account-name>/<resource-path>
Ad esempio, l'indirizzo seguente può essere usato per accedere a un BLOB nell'emulatore di archiviazione:
http://127.0.0.1:10000/myaccount/mycontainer/myblob.txt
Gli endpoint di servizio per l'emulatore di archiviazione sono:
- Servizio BLOB:
http://127.0.0.1:10000/<account-name>/<resource-path>
- Servizio di accodamento:
http://127.0.0.1:10001/<account-name>/<resource-path>
- Servizio tabelle:
http://127.0.0.1:10002/<account-name>/<resource-path>
Indirizzamento dell'account secondario con RA-GRS
A partire dalla versione 3.1, l'emulatore di archiviazione supporta la replica con ridondanza geografica e accesso in lettura (RA-GRS). È possibile accedere alla posizione secondaria aggiungendo -secondary al nome dell'account. Ad esempio, l'indirizzo seguente può essere usato per accedere a un BLOB mediante il percorso secondario di sola lettura nell'emulatore di archiviazione:
http://127.0.0.1:10000/myaccount-secondary/mycontainer/myblob.txt
Nota
Per l'accesso a livello di codice al percorso secondario con l'emulatore di archiviazione, usare la libreria client di archiviazione per .NET versione 3.2 o successiva. Per i dettagli, vedere Libreria client di Archiviazione di Microsoft Azure per .NET .
Riferimenti allo strumento da riga di comando emulatore di archiviazione
A partire dalla versione 3.0, quando si avvia l'emulatore di archiviazione viene visualizzata una finestra della console. Usare la riga di comando nella finestra della console per avviare e arrestare l'emulatore. È anche possibile eseguire query sullo stato ed eseguire altre operazioni dalla riga di comando.
Nota
Se è installato l'emulatore di calcolo di Microsoft Azure, viene visualizzata un'icona nella barra delle applicazioni quando si avvia l'emulatore di archiviazione. Fare clic con il pulsante destro del mouse sull'icona per visualizzare un menu che include una modalità grafica per avviare e arrestare l'emulatore di archiviazione.
Sintassi della riga di comando
AzureStorageEmulator.exe [start] [stop] [status] [clear] [init] [help]
Opzioni
Per visualizzare l'elenco di opzioni, digitare /help
al prompt dei comandi.
Opzione | Descrizione | Comando | Argomenti |
---|---|---|---|
Avviare | Avvia l'emulatore di archiviazione. | AzureStorageEmulator.exe start [-inprocess] |
-Reprocess: consente di avviare l'emulatore nel processo corrente anziché creare un nuovo processo. |
Stop | Interrompe l'emulatore di archiviazione. | AzureStorageEmulator.exe stop |
|
Stato | Stampa lo stato dell'emulatore di archiviazione. | AzureStorageEmulator.exe status |
|
Cancella | Cancella i dati in tutti i servizi specificati nella riga di comando. | AzureStorageEmulator.exe clear [blob] [table] [queue] [all] |
blob: cancella i dati BLOB. queue: cancella i dati della coda. table: cancella i dati delle tabelle. all: cancella tutti i dati in tutti i servizi. |
Init | Esegue l'inizializzazione una tantum per configurare l'emulatore. | AzureStorageEmulator.exe init [-server serverName] [-sqlinstance instanceName] [-forcecreate|-skipcreate] [-reserveports|-unreserveports] [-inprocess] |
-server serverName\instanceName: specifica il server che ospita l'istanza di SQL. -sqlinstance instanceName: specifica il nome dell'istanza di SQL da usare. -forcecreate: forza la creazione del database SQL, anche se già esistente. -skipcreate: ignora la creazione del database SQL. Questa opzione ha la precedenza sull'opzione -forcecreate. -reserveports: tenta di prenotare le porte HTTP associate ai servizi. -unreserveports: tenta di rimuovere le prenotazioni delle porte HTTP associate ai servizi. Questa opzione ha la precedenza sull'opzione -reserveports. -inprocess: esegue l'inizializzazione nel processo corrente anziché generare un nuovo processo. Se si modificano le prenotazioni delle porte, è necessario avviare il processo corrente con autorizzazioni elevate. |
Differenze tra l'emulatore di archiviazione e Archiviazione di Azure
Poiché l'emulatore di archiviazione è un ambiente emulato locale, esistono differenze tra l'uso dell'emulatore e un account di archiviazione di Azure nel cloud:
- L'emulatore di archiviazione supporta solo un singolo account fisso e una chiave di autenticazione nota.
- L'emulatore di archiviazione non è un servizio di archiviazione scalabile e non supporta un numero elevato di client simultanei.
- Come descritto in Indirizzamento delle risorse nell'emulatore di archiviazione, le risorse sono indirizzate diversamente nell'emulatore di archiviazione rispetto a un account di archiviazione di Azure. La differenza è dovuta al fatto che la risoluzione dei nomi di dominio è disponibile nel cloud, ma non nel computer locale.
- A partire dalla versione 3.1, l'account dell'emulatore di archiviazione supporta RA-GRS (replica con ridondanza geografica in sola lettura). Nell'emulatore, RA-GRS è abilitato per tutti gli account e non esiste mai una discordanza tra le repliche primaria e secondaria. Le operazioni Get Blob Service Stats, Get Queue Service Stats e Get Table Service Stats sono supportate per l'account secondario e restituiscono sempre il valore dell'elemento di risposta
LastSyncTime
come ora corrente in base al database SQL sottostante. - Gli endpoint del servizio file e del servizio protocollo SMB non sono attualmente supportati nell'emulatore di archiviazione.
- Se si usa una versione dei servizi di archiviazione che non è ancora supportata dall'emulatore, l'emulatore restituisce l'errore VersionNotSupportedByEmulator (codice di stato HTTP 400: richiesta non valida).
Differenze per l'archiviazione BLOB
All'archiviazione BLOB nell'emulatore si applicano le seguenti differenze:
- L'emulatore di archiviazione supporta solo dimensioni BLOB fino a 2 GB.
- La lunghezza massima di un nome BLOB nell'emulatore di archiviazione è 256 caratteri, mentre la lunghezza massima di un nome BLOB in Archiviazione di Azure è di 1024 caratteri.
- La copia incrementale consente di copiare gli snapshot dai BLOB sovrascritti, ma viene restituito un errore del servizio.
- Get Page Ranges Diff non funziona con gli snapshot copiati usando il BLOB di copia incrementale.
- Un'operazione Put Blob potrebbe avere esito positivo su un BLOB esistente nell'emulatore di archiviazione con un lease attivo, anche se l'ID del lease non è stato specificato nella richiesta.
- Le operazioni del BLOB di accodamento non sono supportate dall'emulatore. Se si tenta un'operazione su un blob di Accodamento restituisce un errore FeatureNotSupportedByEmulator (codice di stato HTTP 400 - richiesta non valida).
Differenze per l'archiviazione tabelle
All'archiviazione tabelle nell'emulatore si applicano le seguenti differenze:
- Le proprietà di data nel servizio tabelle nell'emulatore di archiviazione supportano solo l'intervallo supportato da SQL Server 2005 (le date devono essere successive al 1° gennaio 1753). Tutte le date precedenti a 1 gennaio 1753 vengono modificate in questo valore. La precisione delle date è limitata alla precisione di SQL Server 2005, ovvero le date sono precise a 1/300 di secondo.
- L'emulatore di archiviazione supporta valori di proprietà chiave di riga e chiave di partizione con dimensioni minori di 512 byte ognuno. Le dimensioni totali del nome dell'account, del nome di tabella e dei nomi delle proprietà di chiave non possono superare 900 byte.
- Le dimensioni totali di una riga in una tabella nell'emulatore di archiviazione sono limitate a meno di 1 MB.
- Nell'emulatore di archiviazione le proprietà con tipo di dati
Edm.Guid
oEdm.Binary
supportano solo gli operatori di confrontoEqual (eq)
eNotEqual (ne)
nelle stringhe di filtro delle query.
Differenze per l'archiviazione di accodamento
Non esistono differenze specifiche per l'archiviazione di accodamento nell'emulatore.
Note sulla versione dell'emulatore di archiviazione
Versione 5.10
- L'emulatore di archiviazione non rifiuterà la versione 2019-07-07 dei servizi di archiviazione negli endpoint BLOB, code e servizio tabelle.
Versione 5.9
- L'emulatore di archiviazione non rifiuterà la versione 2019-02-02 dei servizi di archiviazione negli endpoint BLOB, code e servizio tabelle.
Versione 5.8
- L'emulatore di archiviazione non rifiuterà la versione 2018-11-09 dei servizi di archiviazione negli endpoint BLOB, code e servizio tabelle.
Versione 5.7
- È stato risolto un bug che causava l'arresto del sistema quando era abilitata la registrazione.
Versione 5.6
- L'emulatore di archiviazione supporta ora la versione 2018-03-28 dei servizi di archiviazione per gli endpoint BLOB, della coda e del servizio tabelle.
Versione 5.5
- L'emulatore di archiviazione supporta ora la versione 2017-11-09 dei servizi di archiviazione per gli endpoint BLOB, della coda e del servizio tabelle.
- È stato aggiunto il supporto per la proprietà Created dei BLOB, che restituisce l'ora di creazione di un BLOB.
Versione 5.4
- Per migliorare la stabilità dell'installazione, l'emulatore non tenta più di riservare le porte in fase di installazione. Se si desiderano prenotazioni di porte, usare l'opzione -reserveports del comando init per specificarli.
Versione 5.3
- L'emulatore di archiviazione supporta ora la versione 2017-07-29 dei servizi di archiviazione per gli endpoint BLOB, della coda e del servizio tabelle.
Versione 5.2
- L'emulatore di archiviazione supporta ora la versione 2017-04-17 dei servizi di archiviazione per gli endpoint BLOB, della coda e del servizio tabelle.
- È stato risolto un bug per cui i valori delle proprietà di tabella non venivano codificati correttamente.
Versione 5.1
- È stato risolto un bug per cui l'emulatore di archiviazione restituiva l'intestazione
DataServiceVersion
in risposte in cui il servizio non era presente.
Versione 5.0
- Il programma di installazione dell'emulatore di archiviazione non verifica l'eventuale presenza di installazioni MSSQL e .NET Framework esistenti.
- Il programma di installazione dell'emulatore di archiviazione non crea più il database come parte del processo di installazione. Se necessario, il database verrà comunque creato come parte del processo di avvio.
- Per la creazione del database non è più necessaria l'elevazione dei privilegi.
- Per l'avvio non sono più necessarie prenotazioni di porte.
- Aggiunge a
init
le opzioni seguenti:-reserveports
(è richiesta l'elevazione),-unreserveports
(è richiesta l'elevazione) e-skipcreate
. - L'opzione Storage Emulator UI (Interfaccia utente emulatore di archiviazione) sull'icona nell'area di notifica avvia ora l'interfaccia della riga di comando. L'interfaccia utente grafica precedente non è più disponibile.
- Alcune DLL sono state rimosse o rinominate.
Versione 4.6
- L'emulatore di archiviazione supporta ora la versione 2016-05-31 dei servizi di archiviazione per gli endpoint BLOB, della coda e del servizio tabelle.
Versione 4.5
- Correzione di un bug che causava l'esito negativo dell'installazione e dell'inizializzazione quando il database di backup viene rinominato.
Versione 4.4
- L'emulatore di archiviazione supporta ora la versione 2015-12-11 dei servizi di archiviazione per gli endpoint BLOB, della coda e del servizio tabelle.
- L'operazione di Garbage Collection dell'emulatore di archiviazione dei dati BLOB è ora più efficiente quando si lavora con un numero elevato di BLOB.
- Risolto un bug che ha causato la convalida del contenitore ACL XML in modo leggermente diverso dal servizio di archiviazione.
- Risolto un bug che a volte ha causato la segnalazione di valori DateTime max e min nel fuso orario non corretto.
Versione 4.3
- L'emulatore di archiviazione supporta ora la versione 2015-07-08 dei servizi di archiviazione per gli endpoint BLOB, della coda e del servizio tabelle.
Versione 4.2
- L'emulatore di archiviazione supporta ora la versione 2015-04-05 dei servizi di archiviazione per gli endpoint BLOB, della coda e del servizio tabelle.
Versione 4.1
- L'emulatore di archiviazione supporta ora la versione 2015-02-21 dei servizi di archiviazione per gli endpoint BLOB, della coda e del servizio tabelle. Non supporta le nuove funzionalità del BLOB di accodamento.
- L'emulatore restituisce ora un messaggio di errore significativo per le versioni non supportate dei servizi di archiviazione. È consigliabile utilizzare la versione più recente dell'emulatore. Se viene visualizzato un errore VersionNotSupportedByEmulator (codice di stato HTTP 400 - Richiesta non valida), scaricare la versione più recente dell'emulatore.
- Sistemare un bug in cui un race condition ha fatto sì che i dati di entità della tabella non siano corretti durante le operazioni di fusione simultanee.
Versione 4.0
- L'emulatore di archiviazione eseguibile è stato rinominato in AzureStorageEmulator.exe.
Versione 3.2
- L'emulatore di archiviazione supporta ora la versione 2014-02-14 dei servizi di archiviazione per gli endpoint BLOB, della coda e del servizio tabelle. Gli endpoint del servizio file non sono attualmente supportati nell'emulatore di archiviazione. Vedere Controllo delle versioni per i servizi di archiviazione Azure per informazioni dettagliate sulla versione 2014-02-14.
Versione 3.1
- Il servizio di archiviazione con ridondanza geografica e accesso in lettura (RA-GRS) è ora supportato nell'emulatore di archiviazione. Le API
Get Blob Service Stats
,Get Queue Service Stats
eGet Table Service Stats
sono ora supportate per l'account secondario e restituiscono sempre il valore dell'elemento della risposta LastSyncTime come posizione corrente in base al database SQL sottostante. Per l'accesso a livello di codice al percorso secondario con l'emulatore di archiviazione, usare la libreria client di archiviazione per .NET versione 3.2 o successiva. Per i dettagli, vedere il materiale di riferimento della libreria client di archiviazione di Microsoft Azure per .NET.
Versione 3.0
- L'emulatore di archiviazione di Azure non è più disponibile nello stesso pacchetto dell'emulatore di calcolo.
- L'interfaccia utente grafica dell'emulatore di archiviazione è deprecata. È stata sostituita da un'interfaccia della riga di comando di cui è possibile eseguire script. Per informazioni dettagliate sull'interfaccia della riga di comando, vedere le informazioni di riferimento sullo strumento da riga di comando dell'emulatore di archiviazione. L'interfaccia grafica continuerà a essere presente nella versione 3.0, ma è possibile accedervi solo quando è installato l'emulatore di calcolo facendo clic con il pulsante destro del mouse sull'icona della barra delle applicazioni e selezionando Mostra interfaccia utente emulatore di archiviazione.
- La versione 2013-08-15 dei servizi di archiviazione di Azure è ora completamente supportata. (In precedenza questa versione era supportata solo dalla versione 2.2.1 dell'emulatore di archiviazione di anteprima.)
Passaggi successivi
- Valutare l'emulatore di archiviazione open source multipiattaforma gestito dalla community Azurite.
- L'articolo Esempi di Archiviazione di Azure che usano .NET contiene collegamenti a diversi esempi di codice che è possibile usare durante lo sviluppo dell'applicazione.
- È possibile usare Microsoft Azure Storage Explorer per usare risorse nell'account di archiviazione cloud e nell'emulatore di archiviazione.