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 unterstützt derzeit keine Entwicklercomputer, die auf Apple Silicon-Serie oder Microsoft ARM-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 idealerweise bis zu 10 Container mit fester Größe mit 400 RU/s oder 5 Containern mit unbegrenzter Größe. Theoretisch können Sie weitere Container erstellen, aber die Leistung des Emulators könnte dadurch beeinträchtigt werden.
- 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.