Sdílet prostřednictvím


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) localhosta 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, 10253a 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, 10253a 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) localhosta 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 na 50 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\CosmosDbEmulatorsouboru . 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:

  1. 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....

  2. Odstraňte všechna data emulátoru v této složce %LOCALAPPDATA%\CosmosDBEmulator.

  3. 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.

  4. Nainstalujte nejnovější verzi emulátoru.

  5. 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.

Další kroky