Eventi
31 mar, 23 - 2 apr, 23
Il più grande evento di apprendimento di Fabric, Power BI e SQL. 31 marzo - 2 aprile. Usare il codice FABINSIDER per salvare $400.
Iscriviti oggi stessoQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
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.
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.
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.
Per avviare l'emulatore di archiviazione di Azure:
Azure Storage Emulator
.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.
È 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.
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).
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.
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.
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.
È possibile creare un 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:
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.
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:
http://127.0.0.1:10000/<account-name>/<resource-path>
http://127.0.0.1:10001/<account-name>/<resource-path>
http://127.0.0.1:10002/<account-name>/<resource-path>
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 .
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.
AzureStorageEmulator.exe [start] [stop] [status] [clear] [init] [help]
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. |
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:
LastSyncTime
come ora corrente in base al database SQL sottostante.All'archiviazione BLOB nell'emulatore si applicano le seguenti differenze:
All'archiviazione tabelle nell'emulatore si applicano le seguenti differenze:
Edm.Guid
o Edm.Binary
supportano solo gli operatori di confronto Equal (eq)
e NotEqual (ne)
nelle stringhe di filtro delle query.Non esistono differenze specifiche per l'archiviazione di accodamento nell'emulatore.
DataServiceVersion
in risposte in cui il servizio non era presente.init
le opzioni seguenti: -reserveports
(è richiesta l'elevazione), -unreserveports
(è richiesta l'elevazione) e -skipcreate
.Get Blob Service Stats
, Get Queue Service Stats
e Get 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.Eventi
31 mar, 23 - 2 apr, 23
Il più grande evento di apprendimento di Fabric, Power BI e SQL. 31 marzo - 2 aprile. Usare il codice FABINSIDER per salvare $400.
Iscriviti oggi stessoFormazione
Percorso di apprendimento
Eseguire applicazioni HPC (High Performance Computing) in Azure - Training
Azure HPC è una funzionalità cloud appositamente realizzata per carichi di lavoro HPC e di intelligenza artificiale che si avvale di processori all'avanguardia e dell'interconnessione InfiniBand di classe HPC per offrire livelli ottimali di prestazioni, scalabilità e valore delle applicazioni. Azure HPC consente agli utenti di favorire l'innovazione, la produttività e l'agilità aziendale tramite una gamma a disponibilità elevata di tecnologie di intelligenza artificiale che possono essere allocate dinamicam
Documentazione
Usare l'emulatore Azurite per lo sviluppo di Archiviazione di Azure locali
L'emulatore open source Di Azurite offre un ambiente locale gratuito per testare le applicazioni di archiviazione di Azure.
Eseguire test automatizzati usando Azurite - Azure Storage
Informazioni su come scrivere test automatizzati su endpoint privati per Archiviazione BLOB di Azure usando Azurite.
Connettere un emulatore a Archiviazione di Azure Explorer
Documentazione sull'uso di un emulatore con Archiviazione di Azure Explorer