Dokumentacja wiersza polecenia i programu PowerShell dla emulatora systemu Windows (lokalnego)
DOTYCZY: NoSQL
MongoDB
Kasandra
Gremlin
Stół
Emulator usługi Azure Cosmos DB udostępnia środowisko lokalne, które emuluje usługę Azure Cosmos DB na potrzeby programowania lokalnego. Po zainstalowaniu emulatora można kontrolować emulator za pomocą wiersza polecenia i poleceń programu PowerShell. W tym artykule opisano, jak używać poleceń wiersza polecenia i programu PowerShell do uruchamiania i zatrzymywania emulatora, konfigurowania opcji i wykonywania innych operacji. Należy uruchomić polecenia z lokalizacji instalacji.
Ważne
Ten artykuł zawiera tylko argumenty wiersza polecenia dla lokalnego emulatora systemu Windows.
Zarządzanie emulatorem przy użyciu składni wiersza polecenia
Microsoft.Azure.Cosmos.Emulator.exe
[/Shutdown] [/DataPath] [/Port] [/MongoPort]
[/DirectPorts] [/Key] [/EnableRateLimiting]
[/DisableRateLimiting] [/NoUI] [/NoExplorer]
[/EnableMongoDbEndpoint]
[/?]
Aby wyświetlić listę parametrów, wpisz Microsoft.Azure.Cosmos.Emulator.exe /?
w wierszu polecenia.
Parametr | Opis | Przykładowe polecenie |
---|---|---|
[Brak argumentów] | Uruchamia emulator z ustawieniami domyślnymi. | Microsoft.Azure.Cosmos.Emulator.exe |
[Pomoc] | Wyświetla listę obsługiwanych argumentów wiersza polecenia. | Microsoft.Azure.Cosmos.Emulator.exe /? |
GetStatus |
Pobiera stan emulatora. Każdy kod zakończenia wskazuje stan: 1 = Uruchamianie,2 = uruchamianie i = 3 zatrzymanie. Kod zakończenia o wartości ujemnej informuje o wystąpieniu błędu. Inne dane wyjściowe nie są generowane. |
Microsoft.Azure.Cosmos.Emulator.exe /GetStatus |
Shutdown |
Zamyka emulator. | Microsoft.Azure.Cosmos.Emulator.exe /Shutdown |
DataPath |
Określa ścieżkę przechowywania plików danych. Domyślna wartość to %LocalAppdata%\CosmosDBEmulator . |
Microsoft.Azure.Cosmos.Emulator.exe /DataPath=E:\SomeDataFolder |
Port |
Określa numer portu używanego przez emulatora. Domyślna wartość to 8081 . |
Microsoft.Azure.Cosmos.Emulator.exe /Port=65000 |
ComputePort |
Określa numer portu do użycia dla usługi bramy międzyoperacyjności obliczeniowej. Port sondy punktu końcowego HTTP bramy jest obliczany jako ComputePort + 79 . ComputePort W związku z tym i ComputePort + 79 musi być otwarty i dostępny. Domyślna wartość to 8900 . |
Microsoft.Azure.Cosmos.Emulator.exe /ComputePort=65100 |
EnableMongoDbEndpoint=3.2 |
Włącza interfejs API dla bazy danych MongoDB w wersji 3.2. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.2 |
EnableMongoDbEndpoint=3.6 |
Włącza interfejs API dla bazy danych MongoDB w wersji 3.6. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.6 |
EnableMongoDbEndpoint=4.0 |
Włącza interfejs API dla bazy danych MongoDB w wersji 4.0. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=4.0 |
MongoPort |
Określa numer portu do użycia dla interfejsu API dla bazy danych MongoDB. Wartość domyślna to 10255 . |
Microsoft.Azure.Cosmos.Emulator.exe /MongoPort=65200 |
EnableCassandraEndpoint |
Włącza interfejs API dla systemu Apache Cassandra. | Microsoft.Azure.Cosmos.Emulator.exe /EnableCassandraEndpoint |
CassandraPort |
Określa numer portu do użycia dla interfejsu API dla punktu końcowego Cassandra. Wartość domyślna to 10350 . |
Microsoft.Azure.Cosmos.Emulator.exe /CassandraPort=65300 |
EnableGremlinEndpoint |
Włącza interfejs API dla języka Apache Gremlin. | Microsoft.Azure.Cosmos.Emulator.exe /EnableGremlinEndpoint |
GremlinPort |
Numer portu do użycia dla interfejsu API dla punktu końcowego apache Gremlin. Wartość domyślna to 8901 . |
Microsoft.Azure.Cosmos.Emulator.exe /GremlinPort=65400 |
EnableTableEndpoint |
Włącza interfejs API dla tabeli. | Microsoft.Azure.Cosmos.Emulator.exe /EnableTableEndpoint |
TablePort |
Numer portu do użycia dla interfejsu API dla punktu końcowego tabeli. Wartość domyślna to 8902 . |
Microsoft.Azure.Cosmos.Emulator.exe /TablePort=65500 |
KeyFile |
Odczyt klucza autoryzacji z określonego pliku. /GenKeyFile Użyj opcji , aby wygenerować plik klucza. |
Microsoft.Azure.Cosmos.Emulator.exe /KeyFile=D:\Keys\keyfile |
ResetDataPath |
Rekursywnie usuwa wszystkie pliki w określonej ścieżce. Jeśli nie określisz ścieżki, wartość domyślna to %LOCALAPPDATA%\CosmosDbEmulator . |
Microsoft.Azure.Cosmos.Emulator.exe /ResetDataPath |
StartTraces |
Rozpocznij zbieranie dzienników śledzenia debugowania przy użyciu narzędzia LOGMAN. | Microsoft.Azure.Cosmos.Emulator.exe /StartTraces |
StopTraces |
Zatrzymaj zbieranie dzienników śledzenia debugowania przy użyciu narzędzia LOGMAN. | Microsoft.Azure.Cosmos.Emulator.exe /StopTraces |
StartWprTraces |
Rozpocznij zbieranie dzienników śledzenia debugowania przy użyciu narzędzia Do nagrywania wydajności systemu Windows. | Microsoft.Azure.Cosmos.Emulator.exe /StartWprTraces |
StopWprTraces |
Zatrzymaj zbieranie dzienników śledzenia debugowania przy użyciu narzędzia Do nagrywania wydajności systemu Windows. | Microsoft.Azure.Cosmos.Emulator.exe /StopWprTraces |
FailOnSslCertificateNameMismatch |
Domyślnie emulator ponownie generuje swój certyfikat TLS/SSL z podpisem własnym, jeśli sieć SAN certyfikatu nie zawiera nazwy domeny hosta emulatora, lokalnego adresu IP (v4), localhost i 127.0.0.1 . W przypadku tej opcji emulator zamiast tego kończy się niepowodzeniem podczas uruchamiania. Następnie należy użyć /GenCert opcji , aby utworzyć i zainstalować nowy certyfikat TLS/SSL z podpisem własnym. |
Microsoft.Azure.Cosmos.Emulator.exe /FailOnSslCertificateNameMismatch |
GenCert |
Wygeneruj i zainstaluj nowy certyfikat TLS/SSL z podpisem własnym. opcjonalnie dołączenie rozdzielanej przecinkami listy dodatkowych nazw systemu nazw domen (DNS) na potrzeby uzyskiwania dostępu do emulatora za pośrednictwem sieci. | Microsoft.Azure.Cosmos.Emulator.exe /GenCert |
DirectPorts |
Określa porty używane przez połączenia bezpośrednie. Wartości domyślne to 10251 , , 10253 10252 i 10254 . |
Microsoft.Azure.Cosmos.Emulator.exe /DirectPorts:65600,65700 |
Key |
Klucz autoryzacji dla emulatora. Klucz musi być 64-bajtowym wektorem szyfrowanym algorytmem Base-64. | Microsoft.Azure.Cosmos.Emulator.exe /Key:D67PoU0bcK/kgPKFHu4W+3SUY9LNcwcFLIUHnwrkA== |
EnableRateLimiting |
Wskazuje, że ograniczanie szybkości żądania jest włączone. | Microsoft.Azure.Cosmos.Emulator.exe /EnableRateLimiting |
DisableRateLimiting |
Wskazuje, że ograniczanie szybkości żądania jest wyłączone. | Microsoft.Azure.Cosmos.Emulator.exe /DisableRateLimiting |
NoUI |
Nie pokazuj interfejsu użytkownika emulatora. | Microsoft.Azure.Cosmos.Emulator.exe /NoUI |
NoExplorer |
Nie wyświetla Eksploratora danych podczas uruchamiania. | Microsoft.Azure.Cosmos.Emulator.exe /NoExplorer |
PartitionCount |
Określa maksymalną liczbę partycjonowanych kontenerów. Aby uzyskać więcej informacji, zobacz Zmienianie liczby kontenerów. Domyślna wartość to 25 . Maksymalna dozwolona wartość to 250 . |
Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=15 |
DefaultPartitionCount |
Określa domyślną liczbę partycji dla kontenera partycjonowanego. Domyślna wartość to 25 . |
Microsoft.Azure.Cosmos.Emulator.exe /DefaultPartitionCount=50 |
AllowNetworkAccess |
Włącza dostęp do emulatora za pośrednictwem sieci. Należy również przekazać /Key=<key_string> lub /KeyFile=<file_name> , aby włączyć dostęp do sieci. |
Microsoft.Azure.Cosmos.Emulator.exe /AllowNetworkAccess /Key=D67PoU0bcK/kgPKFHu4W+3SUY9LNcwcFLIUHnwrkA== |
NoFirewall |
Nie dopasuj reguł zapory, gdy /AllowNetworkAccess jest używana opcja. |
Microsoft.Azure.Cosmos.Emulator.exe /NoFirewall |
GenKeyFile |
Generuje nowy klucz autoryzacji i zapisuje go w określonym pliku. Wygenerowany klucz może być używany z opcjami /Key lub /KeyFile . |
Microsoft.Azure.Cosmos.Emulator.exe /GenKeyFile=D:\Keys\keyfile |
Consistency |
Ustawia domyślny poziom spójności dla konta. Wartość domyślna to Sesja. | Microsoft.Azure.Cosmos.Emulator.exe /Consistency=Strong |
? |
Wyświetla komunikat pomocy. |
Zarządzanie emulatorem za pomocą poleceń cmdlet programu PowerShell
Emulator jest dostarczany z modułem programu PowerShell umożliwiającym uruchamianie, zatrzymywanie, odinstalowywanie i pobieranie stanu usługi. Uruchom następujące polecenie cmdlet, aby użyć modułu programu PowerShell:
Import-Module "$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules\Microsoft.Azure.CosmosDB.Emulator"
Możesz też umieścić PSModules
katalog w pliku PSModulePath
i zaimportować go, jak pokazano w poniższym poleceniu:
$env:PSModulePath += ";$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules"
Import-Module Microsoft.Azure.CosmosDB.Emulator
Oto podsumowanie poleceń do kontrolowania emulatora z poziomu programu PowerShell:
Get-CosmosDbEmulatorStatus
Pobiera stan emulatora. Zwraca jedną z następujących ServiceControllerStatus
wartości:
ServiceControllerStatus.StartPending
ServiceControllerStatus.Running
ServiceControllerStatus.Stopped
Jeśli wystąpi błąd, żadna wartość nie zostanie zwrócona.
Składnia
Get-CosmosDbEmulatorStatus
[[-AlternativeInstallLocation] <String>]
[<CommonParameters>]
Parametry
Nazwisko | Pisz | Opis |
---|---|---|
AlternativeInstallLocation |
String |
Przykłady
Pobierz stan emulatora zainstalowanego w folderze
D:\SomeFolder\AzureCosmosDBEmulator
.@parameters = { AlternativeInstallLocation = "D:\SomeFolder\AzureCosmosDBEmulator" } Get-CosmosDbEmulatorStatus @parameters
Start-CosmosDbEmulator
Uruchamia emulator na komputerze lokalnym. Domyślnie to polecenie czeka, aż emulator zgłosi gotowość do odbierania żądań. -NoWait
Użyj opcji , jeśli chcesz, aby polecenie cmdlet zwróciło się natychmiast po uruchomieniu emulatora. Użyj parametrów , Start-CosmosDbEmulator
aby określić opcje, takie jak port NoSQL, port bezpośredni i numery portów bazy danych MongoDB.
Składnia
Start-CosmosDbEmulator [-AllowNetworkAccess]
[-AlternativeInstallLocation <String>] [-CassandraPort <UInt16>]
[-ComputePort <UInt16>] [-Consistency <String>] [-Credential
<PSCredential>] [-DataPath <String>] [-DefaultPartitionCount
<UInt16>] [-DirectPort <UInt16[]>] [-EnableMongoDb]
[-EnableCassandra] [-EnableGremlin] [-EnableTable]
[-EnableSqlCompute] [-EnablePreview]
[-FailOnSslCertificateNameMismatch] [-GremlinPort <UInt16>]
[-TablePort <UInt16>] [-SqlComputePort <UInt16>] [-Key <String>]
[-MongoPort <UInt16>] [-MongoApiVersion <String>] [-NoFirewall]
[-NoTelemetry] [-NoUI] [-NoWait] [-PartitionCount <UInt16>] [-Port
<UInt16>] [-SimulateRateLimiting] [-Timeout <UInt32>] [-Trace]
[<CommonParameters>]
Parametry
Nazwisko | Pisz | Opis |
---|---|---|
AllowNetworkAccess |
SwitchParameter |
Zezwalaj na dostęp ze wszystkich adresów IP przypisanych do hosta emulatora. Należy również określić wartość klucza lub kluczaFile, aby zezwolić na dostęp do sieci. |
AlternativeInstallLocation |
String |
Alternatywna ścieżka lokalizacji do pliku wykonywalnego emulatora. |
CassandraPort |
UInt16 |
Numer portu do użycia dla interfejsu API dla bazy danych Cassandra. Domyślnym portem jest 10350 . |
ComputePort |
UInt16 |
Port do użycia dla usługi bramy międzyoperacyjnej obliczeń. Port sondy punktu końcowego HTTP bramy jest obliczany jako ComputePort + 79 . ComputePort W związku z tym i ComputePort + 79 musi być otwarty i dostępny. Domyślne porty to 8900 , 8979 . |
Consistency |
String |
Ustawia domyślny poziom spójności emulatora na Sesja, Silna, Ostateczna lub PowiązanaStaleness. Domyślnym poziomem jest Sesja. |
Credential |
PSCredential |
Określa konto użytkownika, które ma uprawnienia do wykonania tej akcji. Użyj nazwy użytkownika, takiej jak User01 lub Domain01\User01 , lub wprowadź PSCredential obiekt, taki jak jeden z Get-Credential polecenia cmdlet. Domyślnie polecenie cmdlet używa poświadczeń bieżącego użytkownika. |
DataPath |
String |
Ścieżka do przechowywania plików danych. Domyślną lokalizacją plików danych jest $env:LocalAppData\CosmosDbEmulator . |
DefaultPartitionCount |
UInt16 |
Liczba partycji do zarezerwowania na kolekcję partycjonowaną. Wartość domyślna to 25, która jest taka sama jak domyślna wartość całkowitej liczby partycji. |
DirectPort |
UInt16 |
Lista czterech portów do użycia na potrzeby bezpośredniej łączności z zapleczem emulatora. Domyślna lista to 10251 , , 10253 10252 i 10254 . |
EnableMongoDb |
SwitchParameter |
Określa, że interfejs API dla punktu końcowego bazy danych MongoDB jest włączony. Wartość domyślna to false. |
EnableCassandra |
SwitchParameter |
Określa, że interfejs API dla punktu końcowego apache Cassandra jest włączony. Wartość domyślna to false. |
EnableGremlin |
SwitchParameter |
Określa, że interfejs API dla punktu końcowego apache Gremlin jest włączony. Wartość domyślna to false. |
EnableTable |
SwitchParameter |
Określa, że interfejs API dla punktu końcowego tabeli jest włączony. Wartość domyślna to false. |
EnableSqlCompute |
SwitchParameter |
Określa, że interfejs API dla punktu końcowego NoSQL jest włączony. Wartość domyślna to false. |
EnablePreview |
SwitchParameter |
Włącza funkcje emulatora, które są w wersji zapoznawczej i nie są domyślnie w pełni dojrzałe. |
FailOnSslCertificateNameMismatch |
SwitchParameter |
Domyślnie emulator ponownie generuje swój certyfikat TLS/SSL z podpisem własnym, jeśli sieć SAN certyfikatu nie zawiera nazwy domeny hosta emulatora, lokalnego adresu IP (v4), localhost i 127.0.0.1 . Ta opcja powoduje niepowodzenie emulatora podczas uruchamiania. Następnie należy użyć New-CosmosDbEmulatorCertificate opcji , aby utworzyć i zainstalować nowy certyfikat TLS/SSL z podpisem własnym. |
GremlinPort |
UInt16 |
Numer portu do użycia dla interfejsu API dla języka Apache Gremlin. Domyślny numer portu to 8901 . |
TablePort |
UInt16 |
Numer portu do użycia dla interfejsu API dla tabeli. Domyślny numer portu to 8902 . |
SqlComputePort |
UInt16 |
Numer portu do użycia dla interfejsu API dla noSQL. Domyślny numer portu to 8903 . |
Key |
String |
Klucz autoryzacji dla emulatora. Ta wartość musi być podstawowym kodowaniem 64 wektora 64-bajtowego. |
MongoPort |
UInt16 |
Numer portu do użycia dla interfejsu API dla bazy danych MongoDB. Domyślny numer portu to 10250 . |
MongoApiVersion |
String |
Określa, która wersja ma być używana dla interfejsu API dla bazy danych MongoDB. Domyślną wersją jest 4.0 . |
NoFirewall |
SwitchParameter |
Określa, że do zapory hosta emulatora nie powinny być dodawane żadne reguły portów przychodzących. |
NoTelemetry |
SwitchParameter |
Określa, że polecenie cmdlet nie powinno zbierać danych dla bieżącej sesji emulatora. |
NoUI |
SwitchParameter |
Określa, że polecenie cmdlet nie powinno przedstawiać interfejsu użytkownika ani ikony paska zadań. |
NoWait |
SwitchParameter |
Określa, że polecenie cmdlet powinno zostać zwrócone natychmiast po rozpoczęciu emulatora. Domyślnie polecenie cmdlet czeka na ukończenie uruchamiania, a emulator jest gotowy do odbierania żądań przed zwróceniem. |
PartitionCount |
UInt16 |
Całkowita liczba partycji przydzielonych przez emulator. |
Port |
UInt16 |
Numer portu dla usługi bramy emulatora i internetowego interfejsu użytkownika. Domyślny numer portu to 8081 . |
SimulateRateLimiting |
SwitchParameter |
|
Timeout |
UInt32 |
|
Trace |
SwitchParameter |
Przykłady
Uruchom emulator i zaczekaj na gotowość do akceptowania żądań.
Start-CosmosDbEmulator
Uruchom emulator z 5 partycjami zarezerwowanymi dla każdej kolekcji partycjonowanej. Całkowita liczba partycji jest ustawiona na wartość domyślną: 25. W związku z tym całkowita liczba partycjonowanych kolekcji, które można utworzyć, to
5 = 25 partitions / 5 partitions/collection
. Każda kolekcja podzielona na partycje jest ograniczona do50 GB = 5 partitions * 10 GB / partiton
wartości .@parameters = { DefaultPartitionCount = 5 } Start-CosmosDbEmulator @parameters
Uruchamia emulator z alternatywnymi numerami portów.
@parameters = { Port = 443 MongoPort = 27017 DirectPort = 20001,20002,20003,20004 } Start-CosmosDbEmulator @parameters
Stop-CosmosDbEmulator
Zatrzymuje emulator. Domyślnie to polecenie czeka, aż emulator zostanie w pełni zamknięty. Jeśli chcesz, aby polecenie cmdlet zakończyło działanie od razu po rozpoczęciu zamykania emulatora, użyj opcji -NoWait.
Składnia
Stop-CosmosDbEmulator
[[-AlternativeInstallLocation] <String>]
[-NoWait] [[-Timeout] <UInt32>] [-Trace]
[<CommonParameters>]
Parametry
Nazwisko | Pisz | Opis |
---|---|---|
AlternativeInstallLocation |
String |
|
Timeout |
UInt32 |
|
NoWait |
SwitchParameter |
Określa, że polecenie cmdlet powinno zostać zwrócone natychmiast po rozpoczęciu zamykania. |
Trace |
SwitchParameter |
Przykłady
@parameters = {
NoWait = $true
}
Stop-CosmosDbEmulator @parameters
Uninstall-CosmosDbEmulator
Odinstalowuje emulator i opcjonalnie usuwa pełną zawartość elementu $env:LOCALAPPDATA\CosmosDbEmulator
. To polecenie cmdlet gwarantuje zatrzymanie emulatora przed jego odinstalowaniem.
Składnia
Uninstall-CosmosDbEmulator
[-RemoveData]
[<CommonParameters>]
Parametry
Nazwisko | Pisz | Opis |
---|---|---|
RemoveData |
SwitchParameter |
Określa, że polecenie cmdlet powinno usunąć wszystkie dane po usunięciu emulatora. |
Przykłady
@parameters = {
RemoveData = $false
}
Uninstall-CosmosDbEmulator @parameters
Zmienianie liczby kontenerów domyślnych
Domyślnie można utworzyć maksymalnie 25 kontenerów o stałym rozmiarze (obsługiwanych tylko przy użyciu zestawów SDK) usługi Azure Cosmos DB lub 5 nieograniczonych kontenerów przy użyciu emulatora. Modyfikując wartość PartitionCount , można utworzyć maksymalnie 250 kontenerów o stałym rozmiarze lub 50 kontenerów bez ograniczeń lub dowolną kombinację tych dwóch kontenerów, które nie przekraczają 250 kontenerów o stałym rozmiarze (gdzie jeden nieograniczony kontener = 5 kontenerów o stałym rozmiarze). Nie zalecamy jednak skonfigurowania emulatora do uruchamiania z ponad 200 kontenerami o stałym rozmiarze. Ze względu na obciążenie, które dodaje do operacji we/wy dysku, co powoduje nieprzewidywalne przekroczenia limitu czasu podczas korzystania z interfejsów API punktu końcowego.
Jeśli spróbujesz utworzyć kontener po przekroczeniu bieżącej liczby partycji, emulator zgłosi wyjątek ServiceUnavailable z następującym komunikatem.
Sorry, we are currently experiencing high demand in this region, and cannot fulfill your request at this time. We work continuously to bring more and more capacity online, and encourage you to try again.
ActivityId: 12345678-1234-1234-1234-123456789abc
Aby zmienić liczbę kontenerów dostępnych w emulatorze, uruchom następujące kroki:
Usuń wszystkie dane lokalnego emulatora, klikając prawym przyciskiem myszy ikonę emulatora na pasku zadań systemowych, a następnie klikając polecenie Resetuj dane....
Usuń wszystkie dane emulatora w tym folderze
%LOCALAPPDATA%\CosmosDBEmulator
.Zamknij wszystkie otwarte wystąpienia, klikając prawym przyciskiem myszy ikonę emulatora na pasku zadań systemowych, a następnie klikając polecenie Zakończ. Zamknięcie wszystkich wystąpień może potrwać minutę.
Uruchom emulator z flagą PartitionCount, ustawiając wartość <= 250. Na przykład:
C:\Program Files\emulator> Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=100
.