Referenční informace k příkazovému řádku a PowerShellu pro emulátor Windows (místní)
PLATÍ PRO: NoSQL MongoDB Cassandra Skřítek Stůl
Emulátor služby Azure Cosmos DB poskytuje místní prostředí, které emuluje službu Azure Cosmos DB pro účely místního vývoje. Po instalaci emulátoru můžete emulátor ovládat pomocí příkazového řádku a příkazů PowerShellu. Tento článek popisuje, jak používat příkazy příkazového řádku a PowerShellu ke spuštění a zastavení emulátoru, konfiguraci možností a provádění dalších operací. Musíte spustit příkazy z umístění instalace.
Důležité
Tento článek obsahuje pouze argumenty příkazového řádku pro místní emulátor Windows.
Správa emulátoru pomocí syntaxe příkazového řádku
Microsoft.Azure.Cosmos.Emulator.exe
[/Shutdown] [/DataPath] [/Port] [/MongoPort]
[/DirectPorts] [/Key] [/EnableRateLimiting]
[/DisableRateLimiting] [/NoUI] [/NoExplorer]
[/EnableMongoDbEndpoint]
[/?]
Pokud chcete zobrazit seznam parametrů, zadejte Microsoft.Azure.Cosmos.Emulator.exe /?
na příkazovém řádku.
Parametr | Popis | Příklad příkazu |
---|---|---|
[Žádné argumenty] | Spustí emulátor s výchozím nastavením. | Microsoft.Azure.Cosmos.Emulator.exe |
[Nápověda] | Zobrazí seznam podporovaných argumentů příkazového řádku. | Microsoft.Azure.Cosmos.Emulator.exe /? |
GetStatus |
Získá stav emulátoru. Každý ukončovací kód označuje stav: 1 = Spuštění,2 = Spuštění a = 3 Zastaveno. Záporný ukončovací kód označuje, že došlo k chybě. Žádný jiný výstup neexistuje. |
Microsoft.Azure.Cosmos.Emulator.exe /GetStatus |
Shutdown |
Vypne emulátor. | Microsoft.Azure.Cosmos.Emulator.exe /Shutdown |
DataPath |
Určuje cestu, do které chcete uložit datové soubory. Výchozí hodnota je %LocalAppdata%\CosmosDBEmulator . |
Microsoft.Azure.Cosmos.Emulator.exe /DataPath=E:\SomeDataFolder |
Port |
Určuje číslo portu pro emulátor. Výchozí hodnota je 8081 . |
Microsoft.Azure.Cosmos.Emulator.exe /Port=65000 |
ComputePort |
Určuje číslo portu, které se má použít pro službu brány výpočetní spolupráce. Port sondy koncového bodu HTTP brány se vypočítá jako ComputePort + 79 . ComputePort Proto musí ComputePort + 79 být otevřené a dostupné. Výchozí hodnota je 8900 . |
Microsoft.Azure.Cosmos.Emulator.exe /ComputePort=65100 |
EnableMongoDbEndpoint=3.2 |
Povolí rozhraní API pro MongoDB verze 3.2. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.2 |
EnableMongoDbEndpoint=3.6 |
Povolí rozhraní API pro MongoDB verze 3.6. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.6 |
EnableMongoDbEndpoint=4.0 |
Povolí rozhraní API pro MongoDB verze 4.0. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=4.0 |
MongoPort |
Určuje číslo portu, které se má použít pro rozhraní API pro MongoDB. Výchozí hodnota je 10255 . |
Microsoft.Azure.Cosmos.Emulator.exe /MongoPort=65200 |
EnableCassandraEndpoint |
Povolí rozhraní API pro Apache Cassandra. | Microsoft.Azure.Cosmos.Emulator.exe /EnableCassandraEndpoint |
CassandraPort |
Určuje číslo portu, které se má použít pro koncový bod rozhraní API pro Cassandra. Výchozí hodnota je 10350 . |
Microsoft.Azure.Cosmos.Emulator.exe /CassandraPort=65300 |
EnableGremlinEndpoint |
Povolí rozhraní API pro Apache Gremlin. | Microsoft.Azure.Cosmos.Emulator.exe /EnableGremlinEndpoint |
GremlinPort |
Číslo portu, které se má použít pro rozhraní API pro koncový bod Apache Gremlin Výchozí hodnota je 8901 . |
Microsoft.Azure.Cosmos.Emulator.exe /GremlinPort=65400 |
EnableTableEndpoint |
Povolí rozhraní API pro tabulku. | Microsoft.Azure.Cosmos.Emulator.exe /EnableTableEndpoint |
TablePort |
Číslo portu, které se má použít pro rozhraní API pro koncový bod tabulky. Výchozí hodnota je 8902 . |
Microsoft.Azure.Cosmos.Emulator.exe /TablePort=65500 |
KeyFile |
Načtěte autorizační klíč ze zadaného souboru. /GenKeyFile Pomocí možnosti vygenerujte soubor klíčů. |
Microsoft.Azure.Cosmos.Emulator.exe /KeyFile=D:\Keys\keyfile |
ResetDataPath |
Rekurzivně odebere všechny soubory v zadané cestě. Pokud nezadáte cestu, výchozí hodnota je %LOCALAPPDATA%\CosmosDbEmulator . |
Microsoft.Azure.Cosmos.Emulator.exe /ResetDataPath |
StartTraces |
Začněte shromažďovat protokoly trasování ladění pomocí LOGMAN. | Microsoft.Azure.Cosmos.Emulator.exe /StartTraces |
StopTraces |
Zastavte shromažďování protokolů trasování ladění pomocí LOGMAN. | Microsoft.Azure.Cosmos.Emulator.exe /StopTraces |
StartWprTraces |
Začněte shromažďovat protokoly trasování ladění pomocí nástroje Windows Performance Recording . | Microsoft.Azure.Cosmos.Emulator.exe /StartWprTraces |
StopWprTraces |
Pomocí nástroje Windows Performance Recording zastavte shromažďování protokolů trasování ladění. | Microsoft.Azure.Cosmos.Emulator.exe /StopWprTraces |
FailOnSslCertificateNameMismatch |
Ve výchozím nastavení emulátor znovu vygeneruje certifikát TLS/SSL podepsaný svým držitelem, pokud síť SAN certifikátu neobsahuje název domény hostitele emulátoru, místní IP adresu (v4) localhost a 127.0.0.1 . S touto možností se emulátor místo toho při spuštění nezdaří. Pak byste měli použít /GenCert možnost vytvoření a instalace nového certifikátu TLS/SSL podepsaného svým držitelem. |
Microsoft.Azure.Cosmos.Emulator.exe /FailOnSslCertificateNameMismatch |
GenCert |
Vygenerujte a nainstalujte nový certifikát TLS/SSL podepsaný svým držitelem. volitelně včetně čárkami odděleného seznamu názvů DNS (Domain Name System) pro přístup k emulátoru přes síť. | Microsoft.Azure.Cosmos.Emulator.exe /GenCert |
DirectPorts |
Určuje porty, které chcete použít pro přímé připojení. Výchozí hodnoty jsou 10251 , 10252 , 10253 a 10254 . |
Microsoft.Azure.Cosmos.Emulator.exe /DirectPorts:65600,65700 |
Key |
Autorizační klíč pro emulátor. Klíč musí být 64bajtový vektor s kódováním base-64. | Microsoft.Azure.Cosmos.Emulator.exe /Key:D67PoU0bcK/kgPKFHu4W+3SUY9LNcwcFLIUHnwrkA== |
EnableRateLimiting |
Určuje, že je povoleno chování omezující četnost požadavků. | Microsoft.Azure.Cosmos.Emulator.exe /EnableRateLimiting |
DisableRateLimiting |
Určuje, že je zakázáno chování omezující četnost požadavků. | Microsoft.Azure.Cosmos.Emulator.exe /DisableRateLimiting |
NoUI |
Nezobrazovat uživatelské rozhraní emulátoru | Microsoft.Azure.Cosmos.Emulator.exe /NoUI |
NoExplorer |
Nezobrazuje Průzkumníka dat při spuštění. | Microsoft.Azure.Cosmos.Emulator.exe /NoExplorer |
PartitionCount |
Určuje maximální počet dělených kontejnerů. Další informace najdete v tématu změna počtu kontejnerů. Výchozí hodnota je 25 . Maximální povolená hodnota je 250 . |
Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=15 |
DefaultPartitionCount |
Určuje výchozí počet oddílů pro dělený kontejner. Výchozí hodnota je 25 . |
Microsoft.Azure.Cosmos.Emulator.exe /DefaultPartitionCount=50 |
AllowNetworkAccess |
Povolí přístup k emulátoru přes síť. Musíte také předat /Key=<key_string> nebo /KeyFile=<file_name> povolit síťový přístup. |
Microsoft.Azure.Cosmos.Emulator.exe /AllowNetworkAccess /Key=D67PoU0bcK/kgPKFHu4W+3SUY9LNcwcFLIUHnwrkA== |
NoFirewall |
Při použití možnosti neupravujte pravidla /AllowNetworkAccess brány firewall. |
Microsoft.Azure.Cosmos.Emulator.exe /NoFirewall |
GenKeyFile |
Vygeneruje nový autorizační klíč a uloží ho do zadaného souboru. Vygenerovaný klíč lze použít s možnostmi/Key ./KeyFile |
Microsoft.Azure.Cosmos.Emulator.exe /GenKeyFile=D:\Keys\keyfile |
Consistency |
Nastaví výchozí úroveň konzistence pro účet. Výchozí hodnota je Session. | Microsoft.Azure.Cosmos.Emulator.exe /Consistency=Strong |
? |
Zobrazí zprávu nápovědy. |
Správa emulátoru pomocí rutin PowerShellu
Emulátor se dodává s modulem PowerShellu pro spuštění, zastavení, odinstalaci a načtení stavu služby. Spuštěním následující rutiny použijte modul PowerShellu:
Import-Module "$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules\Microsoft.Azure.CosmosDB.Emulator"
Nebo ho PSModules
umístěte do adresáře PSModulePath
a naimportujte ho, jak je znázorněno v následujícím příkazu:
$env:PSModulePath += ";$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules"
Import-Module Microsoft.Azure.CosmosDB.Emulator
Tady je souhrn příkazů pro řízení emulátoru z PowerShellu:
Get-CosmosDbEmulatorStatus
Získá stav emulátoru. Vrátí jednu z těchto ServiceControllerStatus
hodnot:
ServiceControllerStatus.StartPending
ServiceControllerStatus.Running
ServiceControllerStatus.Stopped
Pokud dojde k chybě, nevrátí se žádná hodnota.
Syntaxe
Get-CosmosDbEmulatorStatus
[[-AlternativeInstallLocation] <String>]
[<CommonParameters>]
Parametry
Název | Typ | Popis |
---|---|---|
AlternativeInstallLocation |
String |
Příklady
Získejte stav emulátoru nainstalovaného
D:\SomeFolder\AzureCosmosDBEmulator
ve složce.@parameters = { AlternativeInstallLocation = "D:\SomeFolder\AzureCosmosDBEmulator" } Get-CosmosDbEmulatorStatus @parameters
Start-CosmosDbEmulator
Spustí emulátor na místním počítači. Ve výchozím nastavení tento příkaz čeká, dokud emulátor nebude připraven přijímat požadavky. -NoWait
Tuto možnost použijte, pokud chcete, aby se rutina vrátila hned po spuštění emulátoru. Pomocí parametrů Start-CosmosDbEmulator
zadejte možnosti, jako je port NoSQL, přímý port a čísla portů MongoDB.
Syntaxe
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
Název | Typ | Popis |
---|---|---|
AllowNetworkAccess |
SwitchParameter |
Povolte přístup ze všech IP adres přiřazených hostiteli emulátoru. Pokud chcete povolit síťový přístup, musíte také zadat hodnotu klíče nebo souboru klíčů. |
AlternativeInstallLocation |
String |
Alternativní cesta k spustitelnému souboru emulátoru. |
CassandraPort |
UInt16 |
Číslo portu, které se má použít pro rozhraní API pro Cassandra Výchozí port je 10350 . |
ComputePort |
UInt16 |
Port, který se má použít pro službu brány výpočetní spolupráce. Port sondy koncového bodu HTTP brány se vypočítá jako ComputePort + 79 . ComputePort Proto musí ComputePort + 79 být otevřené a dostupné. Výchozí porty jsou 8900 , 8979 . |
Consistency |
String |
Nastaví výchozí úroveň konzistence emulátoru na Session, Strong, Eventual nebo BoundedStaleness. Výchozí úroveň je Relace. |
Credential |
PSCredential |
Určuje uživatelský účet, který má oprávnění k provedení této akce. Použijte uživatelské jméno, například User01 nebo nebo zadejte PSCredential objekt, například objekt z rutiny Get-Credential Domain01\User01 . Rutina ve výchozím nastavení používá přihlašovací údaje aktuálního uživatele. |
DataPath |
String |
Cesta k ukládání datových souborů Výchozí umístění datových souborů je $env:LocalAppData\CosmosDbEmulator . |
DefaultPartitionCount |
UInt16 |
Počet oddílů, které se mají rezervovat pro každou dělenou kolekci. Výchozí hodnota je 25, což je stejné jako výchozí hodnota celkového počtu oddílů. |
DirectPort |
UInt16 |
Seznam čtyř portů, které se mají použít pro přímé připojení k back-endu emulátoru. Výchozí seznam je 10251 , 10252 , 10253 a 10254 . |
EnableMongoDb |
SwitchParameter |
Určuje, že je povolený koncový bod rozhraní API pro MongoDB. Výchozí hodnota je false. |
EnableCassandra |
SwitchParameter |
Určuje, že je povolené rozhraní API pro koncový bod Apache Cassandra. Výchozí hodnota je false. |
EnableGremlin |
SwitchParameter |
Určuje, že je povolené rozhraní API pro koncový bod Apache Gremlin. Výchozí hodnota je false. |
EnableTable |
SwitchParameter |
Určuje, že je povolené rozhraní API pro koncový bod tabulky. Výchozí hodnota je false. |
EnableSqlCompute |
SwitchParameter |
Určuje, že je povolené rozhraní API pro koncový bod NoSQL. Výchozí hodnota je false. |
EnablePreview |
SwitchParameter |
Povoluje funkce emulátoru, které jsou ve verzi Preview a nejsou plně vyspělé, aby byly ve výchozím nastavení zapnuté. |
FailOnSslCertificateNameMismatch |
SwitchParameter |
Ve výchozím nastavení emulátor znovu vygeneruje certifikát TLS/SSL podepsaný svým držitelem, pokud síť SAN certifikátu neobsahuje název domény hostitele emulátoru, místní IP adresu (v4) localhost a 127.0.0.1 . Tato možnost způsobí selhání emulátoru při spuštění. Pak byste měli použít New-CosmosDbEmulatorCertificate možnost vytvoření a instalace nového certifikátu TLS/SSL podepsaného svým držitelem. |
GremlinPort |
UInt16 |
Číslo portu, které se má použít pro rozhraní API pro Apache Gremlin Výchozí číslo portu je 8901 . |
TablePort |
UInt16 |
Číslo portu, které se má použít pro rozhraní API pro tabulku. Výchozí číslo portu je 8902 . |
SqlComputePort |
UInt16 |
Číslo portu, které se má použít pro rozhraní API pro NoSQL. Výchozí číslo portu je 8903 . |
Key |
String |
Autorizační klíč pro emulátor. Tato hodnota musí být základním kódováním 64 bajtů vektoru 64 bajtů. |
MongoPort |
UInt16 |
Číslo portu, které se má použít pro rozhraní API pro MongoDB Výchozí číslo portu je 10250 . |
MongoApiVersion |
String |
Určuje, která verze se má použít pro rozhraní API pro MongoDB. Výchozí verze je 4.0 . |
NoFirewall |
SwitchParameter |
Určuje, že do brány firewall hostitele emulátoru by neměla být přidána žádná pravidla portů pro příchozí spojení. |
NoTelemetry |
SwitchParameter |
Určuje, že rutina by neměla shromažďovat data pro aktuální relaci emulátoru. |
NoUI |
SwitchParameter |
Určuje, že rutina by neměla prezentovat ikonu uživatelského rozhraní nebo hlavního panelu. |
NoWait |
SwitchParameter |
Určuje, že rutina by se měla vrátit, jakmile se emulátor začne spouštět. Ve výchozím nastavení rutina čeká na dokončení spuštění a emulátor je připravený přijímat požadavky před vrácením. |
PartitionCount |
UInt16 |
Celkový počet oddílů přidělených emulátorem. |
Port |
UInt16 |
Číslo portu pro službu brány emulátoru a webové uživatelské rozhraní Výchozí číslo portu je 8081 . |
SimulateRateLimiting |
SwitchParameter |
|
Timeout |
UInt32 |
|
Trace |
SwitchParameter |
Příklady
Spusťte emulátor a počkejte, až bude připraven přijímat žádosti.
Start-CosmosDbEmulator
Spusťte emulátor s 5 oddíly vyhrazenými pro každou dělenou kolekci. Celkový počet oddílů je nastavený na výchozí hodnotu: 25. Proto je celkový počet dělených kolekcí, které lze vytvořit
5 = 25 partitions / 5 partitions/collection
. Každá dělená kolekce je omezena na50 GB = 5 partitions * 10 GB / partiton
.@parameters = { DefaultPartitionCount = 5 } Start-CosmosDbEmulator @parameters
Spustí emulátor s alternativními čísly portů.
@parameters = { Port = 443 MongoPort = 27017 DirectPort = 20001,20002,20003,20004 } Start-CosmosDbEmulator @parameters
Stop-CosmosDbEmulator
Zastaví emulátor. Ve výchozím nastavení tento příkaz čeká, až emulátor je zcela vypnutý. Pokud chcete, aby se rutina vrátila, jakmile se emulátor začne vypínat, použijte možnost -NoWait.
Syntaxe
Stop-CosmosDbEmulator
[[-AlternativeInstallLocation] <String>]
[-NoWait] [[-Timeout] <UInt32>] [-Trace]
[<CommonParameters>]
Parametry
Název | Typ | Popis |
---|---|---|
AlternativeInstallLocation |
String |
|
Timeout |
UInt32 |
|
NoWait |
SwitchParameter |
Určuje, že rutina by se měla vrátit hned po zahájení vypnutí. |
Trace |
SwitchParameter |
Příklady
@parameters = {
NoWait = $true
}
Stop-CosmosDbEmulator @parameters
Uninstall-CosmosDbEmulator
Odinstaluje emulátor a volitelně odebere celý obsah $env:LOCALAPPDATA\CosmosDbEmulator
souboru . Rutina zajišťuje zastavení emulátoru před jeho odinstalací.
Syntaxe
Uninstall-CosmosDbEmulator
[-RemoveData]
[<CommonParameters>]
Parametry
Název | Typ | Popis |
---|---|---|
RemoveData |
SwitchParameter |
Určuje, že rutina by po odebrání emulátoru měla odstranit všechna data. |
Příklady
@parameters = {
RemoveData = $false
}
Uninstall-CosmosDbEmulator @parameters
Změna počtu výchozích kontejnerů
Ve výchozím nastavení můžete vytvořit až 25 kontejnerů s pevnou velikostí (podporováno pouze pomocí sad SDK (Software Development Kit) služby Azure Cosmos DB nebo 5 neomezených kontejnerů pomocí emulátoru. Úpravou hodnoty PartitionCount můžete vytvořit až 250 kontejnerů s pevnou velikostí nebo 50 neomezených kontejnerů nebo libovolnou kombinaci těchto dvou kontejnerů, které nepřekročí 250 kontejnerů s pevnou velikostí (kde jeden neomezený kontejner = 5 kontejnerů s pevnou velikostí). Nedoporučujeme ale nastavit emulátor tak, aby běžel s více než 200 kontejnery s pevnou velikostí. Kvůli režijním nákladům, které se přidají do vstupně-výstupních operací disku, což vede k nepředvídatelným vypršením časových limitů při používání rozhraní API koncových bodů.
Pokud se pokusíte vytvořit kontejner po překročení aktuálního počtu oddílů, emulátor vyvolá výjimku ServiceUnavailable s následující zprávou.
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
Pokud chcete změnit počet kontejnerů dostupných v emulátoru, spusťte následující kroky:
Odstraňte všechna data místního emulátoru tak, že kliknete pravým tlačítkem myši na ikonu emulátoru na hlavním panelu systému a potom kliknete na Obnovit data....
Odstraňte všechna data emulátoru v této složce
%LOCALAPPDATA%\CosmosDBEmulator
.Ukončete všechny otevřené instance tak, že kliknete pravým tlačítkem myši na ikonu emulátoru na hlavním panelu systému a potom kliknete na Ukončit. Ukončení všech instancí může chvíli trvat.
Spusťte emulátor s příznakem PartitionCount nastavením hodnoty <= 250. Například:
C:\Program Files\emulator> Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=100
.