Che cos'è l'emulatore di Azure Cosmos DB?
L'emulatore di Azure Cosmos DB fornisce un ambiente locale che emula il servizio Azure Cosmos DB progettato a fini di sviluppo. Usando l'emulatore, è possibile sviluppare e testare l'applicazione in locale, senza creare una sottoscrizione di Azure né sostenere costi di servizio. Quando si è soddisfatti del funzionamento dell'applicazione con l'emulatore, è possibile passare all'uso di un account Azure Cosmos DB con difficoltà minime.
Importante
Non è consigliabile usare l'emulatore per i carichi di lavoro di produzione.
Suggerimento
Visitare la nuova raccolta di esempi per gli esempi più recenti per la creazione di nuove app
Differenze tra l'emulatore e il servizio cloud
L'emulatore fornisce un ambiente nell'area di lavoro per sviluppatori che non è in grado di simulare ogni aspetto del servizio Azure Cosmos DB. Ecco alcune differenze principali nelle funzionalità tra l'emulatore e il servizio cloud equivalente.
Importante
L'emulatore Linux attualmente non supporta i computer per sviluppatori in esecuzione su chip Apple silicon series o Microsoft ARM. Una soluzione alternativa temporanea consiste nell'installare una macchina virtuale Windows ed eseguire l'emulatore in tale piattaforma.
In alternativa, è possibile usare il nuovo emulatore di Azure Cosmos DB basato su Linux (anteprima).
- Il riquadro Esplora dati dell'emulatore è supportato solo nell'API per NoSQL e nell'API per MongoDB.
- L'emulatore supporta solo velocità effettiva con provisioning. L'emulatore non supporta velocità effettiva serverless.
- L'emulatore usa una chiave nota all'avvio. Non è possibile rigenerare la chiave per l'emulatore in esecuzione. Per usare una chiave diversa, è necessario avviare l'emulatore con la chiave personalizzata specificata.
- L'emulatore non può essere replicato tra aree geografiche o più istanze. È supportata solo una singola istanza in esecuzione dell'emulatore. Non è possibile aumentare il numero di istanze dell'emulatore.
- L'emulatore idealmente supporta fino a 10 contenitori a dimensione fissa a 400 UR/s o 5 contenitori di dimensioni illimitate. Teoricamente è possibile creare più contenitori, ma si potrebbe riscontrare una riduzione del livello delle prestazioni con l'emulatore.
- L'emulatore supporta solo i livelli di coerenza Sessione e Assoluta. L'emulatore non è un servizio scalabile e non implementa effettivamente i livelli di coerenza. L'emulatore contrassegna solo il livello di coerenza configurato a scopo di test.
- L'emulatore vincola l'identificatore univoco degli elementi a una dimensione di 254 caratteri.
- L'emulatore supporta un massimo di cinque istruzioni
JOIN
per query.
Le funzionalità dell'emulatore potrebbero essere in ritardo rispetto al ritmo di rilascio delle nuove funzionalità per il servizio cloud. Potrebbero esserci nuove funzionalità e modifiche nel servizio cloud con un piccolo ritardo prima che siano disponibili nell'emulatore.
Autenticazione
Ogni richiesta eseguita sull'emulatore deve essere autenticata usando una chiave su TLS/SSL. L'emulatore viene fornito con un singolo account configurato per l'uso di una chiave di autenticazione nota. Per impostazione predefinita, queste credenziali sono le uniche consentite per l'uso con l'emulatore:
Valore | |
---|---|
Endpoint | localhost:8081 |
Chiave | C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw== |
Stringa di connessione | AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==; |
Suggerimento
Con l'emulatore Windows (locale) puoi anche personalizzare la chiave usata dall'emulatore. Per altre informazioni, vedere Argomenti dell'emulatore Windows.
Importare il certificato dell'emulatore
In alcuni casi, è possibile importare manualmente il certificato TLS/SS dal contenitore in esecuzione dell'emulatore nel computer host. Questo passaggio evita procedure non consigliate, ad esempio la disabilitazione della convalida TLS/SSL nell'SDK. Per altre informazioni, vedere Importare il certificato.