Dokumentacja wiersza polecenia i programu PowerShell dla emulatora systemu Windows (lokalnego)
DOTYCZY: Nosql Mongodb Cassandra Gremlin Tabeli
Emulator usługi Azure Cosmos DB udostępnia środowisko lokalne, które emuluje usługę Azure Cosmos DB na potrzeby lokalnego programowania. Po zainstalowaniu emulatora można kontrolować emulator za pomocą poleceń wiersza polecenia i 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. Musisz 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 |
---|---|---|
[Bez 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 |
Wyłącza emulator. | Microsoft.Azure.Cosmos.Emulator.exe /Shutdown |
DataPath |
Określa ścieżkę przechowywania plików danych. Wartość domyślna to %LocalAppdata%\CosmosDBEmulator . |
Microsoft.Azure.Cosmos.Emulator.exe /DataPath=E:\SomeDataFolder |
Port |
Określa numer portu używanego przez emulatora. Wartość domyślna to 8081 . |
Microsoft.Azure.Cosmos.Emulator.exe /Port=65000 |
ComputePort |
Określa numer portu do użycia dla usługi bramy międzyoperacyjnej obliczeń. Port sondy punktu końcowego HTTP bramy jest obliczany jako ComputePort + 79 . ComputePort ComputePort + 79 W związku z tym i musi być otwarty i dostępny. Wartość domyślna 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 platformy 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 %LOCALAPPDATA%\CosmosDbEmulator to . |
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 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łączanie rozdzielanej przecinkami listy dodatkowych nazw 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 , 10252 , 10253 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. Wartość domyślna to 25 . Maksymalna dozwolona wartość to 250 . |
Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=15 |
DefaultPartitionCount |
Określa domyślną liczbę partycji dla kontenera podzielonego na partycje. Wartość domyślna 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"
lub umieść katalog w pliku PSModulePath
i zaimportuj PSModules
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, nie zostanie zwrócona żadna wartość.
Składnia
Get-CosmosDbEmulatorStatus
[[-AlternativeInstallLocation] <String>]
[<CommonParameters>]
Parametry
Nazwa | Typ | 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 wróciło 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
Nazwa | Typ | 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 pliku klucza, 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 . W związku z tym ComputePort 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ązana opowieść. 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 wartość domyślna łącznej 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 , 10252 , 10253 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, że emulator kończy się niepowodzeniem 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ślna wersja to 4.0 . |
NoFirewall |
SwitchParameter |
Określa, że do zapory hosta emulatora nie powinny być dodawane żadne reguły portów wejściowych. |
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 uruchamiania 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 jego pełne uruchomienie i gotowość do akceptowania żądań.
Start-CosmosDbEmulator
Uruchom emulator z 5 partycjami zarezerwowanymi dla każdej kolekcji partycjonowanej. Łączna liczba partycji jest ustawiona na wartość domyślną: 25. W związku z tym łączna liczba kolekcji partycjonowanych, które można utworzyć, to
5 = 25 partitions / 5 partitions/collection
. Każda kolekcja partycjonowana jest ograniczona do wartości50 GB = 5 partitions * 10 GB / partiton
.@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
Nazwa | Typ | Opis |
---|---|---|
AlternativeInstallLocation |
String |
|
Timeout |
UInt32 |
|
NoWait |
SwitchParameter |
Określa, że polecenie cmdlet powinno zostać zwrócone zaraz 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
Nazwa | Typ | 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 domyślnych kontenerów
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 kontenerów bez ograniczeń 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 zaleca się jednak konfigurowania 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. Zamykanie wszystkich wystąpień może potrwać około minuty.
Zainstaluj najnowszą wersję emulatora.
Uruchom emulator z flagą PartitionCount, ustawiając wartość <= 250. Na przykład:
C:\Program Files\emulator> Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=100
.