Che cos'è l'emulatore di Azure Cosmos DB?

L'emulatore Azure Cosmos DB fornisce un ambiente locale che emula il servizio Azure Cosmos DB progettato a scopo di sviluppo. Usando l'emulatore, è possibile sviluppare e testare l'applicazione in locale, senza creare una sottoscrizione Azure o 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 un attrito minimo.

Importante

Non è consigliabile usare l'emulatore per i carichi di lavoro di produzione.

Tip

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 emulare 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 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 api per MongoDB.
  • L'emulatore supporta solo la capacità effettiva di cui è stato effettuato il provisioning. L'emulatore non supporta la 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. L'emulatore non può essere scalato orizzontalmente.
  • L'emulatore supporta idealmente fino a 10 contenitori a dimensione fissa a 400 UR/s o 5 contenitori di dimensioni illimitate. Teoricamente, è possibile creare più contenitori, ma è possibile riscontrare una riduzione 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 vincoli l'identificatore univoco degli elementi a una dimensione di 254 caratteri.
  • L'emulatore supporta un massimo di cinque JOIN istruzioni per ogni query.

Le funzionalità dell'emulatore potrebbero essere in ritardo al ritmo 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 credenziali consentite per l'uso con l'emulatore:

Value
Punto finale localhost:8081
Chiave C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
Stringa di connessione AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;

Tip

Con l'emulatore Windows (locale), è anche possibile personalizzare la chiave usata dall'emulatore. Per ulteriori informazioni, consulta 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.

Passo successivo