Was ist der Azure Cosmos DB-Emulator?

Der Azure Cosmos DB-Emulator stellt eine lokale Umgebung bereit, die den für Entwicklungszwecke konzipierten Azure Cosmos DB-Dienst emuliert. Durch Verwendung des Emulators können Sie Ihre Anwendung lokal entwickeln und testen, ohne ein Azure-Abonnement zu erstellen oder sonstige Dienstkosten zu verursachen. Wenn Sie damit zufrieden sind, wie Ihre Anwendung mit dem Emulator funktioniert, können Sie ohne große Reibungsverluste auf ein Azure Cosmos DB-Konto übergehen.

Wichtig

Die Verwendung des Emulators für Produktionsworkloads wird nicht empfohlen.

Unterschiede zwischen dem Emulator und dem Clouddienst

Der Emulator stellt eine Umgebung in Ihrem Entwicklerarbeitsbereich bereit, die nicht in der Lage ist, alle Aspekte des Azure Cosmos DB-Diensts zu emulieren. Hier sind einige wichtige Unterschiede in der Funktionalität zwischen dem Emulator und dem entsprechenden Clouddienst.

Wichtig

Der Linux-Emulator bietet derzeit nur eingeschränkte Unterstützung für Entwicklercomputer, die auf M1- und M2-Chips ausgeführt werden. Eine temporäre Problemumgehung besteht darin, eine Windows-VM zu installieren und den Emulator auf dieser Plattform auszuführen.

  • Der Data Explorer-Bereich des Emulators wird nur in der API für NoSQL und der API für MongoDB unterstützt.
  • Der Emulator unterstützt nur bereitgestellten Durchsatz. Der Emulator unterstützt keinen serverlosen Durchsatz.
  • Der Emulator verwendet einen bekannten Schlüssel, wenn er gestartet wird. Sie können den Schlüssel für den laufenden Emulator nicht erneut generieren. Um einen anderen Schlüssel zu verwenden, müssen Sie den Emulator mit dem angegebenen benutzerdefinierten Schlüssel starten.
  • Der Emulator kann nicht über geografische Regionen oder mehrere Instanzen hinweg repliziert werden. Es wird nur eine einzelne ausgeführte Instanz des Emulators unterstützt. Der Emulator kann nicht aufskaliert werden.
  • Der Emulator unterstützt nur bis zu 10 Container mit fester Größe mit 400 RU/s oder 5 Containern mit unbegrenzter Größe.
  • Der Emulator unterstützt nur die Konsistenzebenen Sitzung und Stark. Der Emulator ist kein skalierbarer Dienst und implementiert die Konsistenzebenen nicht wirklich. Der Emulator kennzeichnet die konfigurierte Konsistenzebene nur für Testzwecke.
  • Der Emulator schränkt den eindeutigen Bezeichner von Elementen auf eine Größe von 254 Zeichen ein.
  • Der Linux-Emulator unterstützt maximal fünf JOIN-Anweisungen pro Abfrage.

Die Features des Emulators könnten hinter dem Tempo neuer Features für den Clouddienst zurückbleiben. Möglicherweise gibt es neue Features und Änderungen im Clouddienst, die erst mit einer kleinen Verzögerung im Emulator verfügbar sind.

Authentifizierung

Jede Anforderung an den Emulator muss mithilfe eines Schlüssels über TLS/SSL authentifiziert werden. Der Emulator wird mit einem einzelnen Konto geliefert, das für die Verwendung eines bekannten Authentifizierungsschlüssels konfiguriert ist. Standardmäßig sind diese Anmeldeinformationen die einzigen Anmeldeinformationen, die für die Verwendung mit dem Emulator zulässig sind:

Wert
Endpunkt localhost:8081
Schlüssel C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
Verbindungszeichenfolge AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;

Tipp

Mit dem (lokalen) Windows-Emulator können Sie auch den vom Emulator verwendeten Schlüssel anpassen. Weitere Informationen erhalten Sie unter Windows-Emulatorargumente.

Importieren des Emulatorzertifikats

In einigen Fällen möchten Sie das TLS/SS-Zertifikat aus dem ausgeführten Container des Emulators manuell auf Ihren Hostcomputer importieren. Dieser Schritt vermeidet schlechte Praktiken wie das Deaktivieren der TLS/SSL-Validierung im SDK. Weitere Informationen finden Sie unter Zertifikat importieren.

Nächster Schritt