Kommandorads- och PowerShell-referens för Windows-emulatorn (lokal)

GÄLLER FÖR: Nosql Mongodb Cassandra Gremlin Tabell

Azure Cosmos DB-emulatorn tillhandahåller en lokal miljö som emulerar Azure Cosmos DB-tjänsten för lokal utveckling. När du har installerat emulatorn kan du styra emulatorn med kommandorads- och PowerShell-kommandon. Den här artikeln beskriver hur du använder kommandorads- och PowerShell-kommandona för att starta och stoppa emulatorn, konfigurera alternativ och utföra andra åtgärder. Du måste köra kommandona från installationsplatsen.

Viktigt

Den här artikeln innehåller endast kommandoradsargument för den lokala Windows-emulatorn.

Hantera emulatorn med kommandoradssyntax

Microsoft.Azure.Cosmos.Emulator.exe 
    [/Shutdown] [/DataPath] [/Port] [/MongoPort] 
    [/DirectPorts] [/Key] [/EnableRateLimiting] 
    [/DisableRateLimiting] [/NoUI] [/NoExplorer] 
    [/EnableMongoDbEndpoint] 
    [/?]

Om du vill visa listan över parametrar skriver du Microsoft.Azure.Cosmos.Emulator.exe /? i kommandotolken.

Parameter Beskrivning Exempelkommando
[Inga argument] Startar emulatorn med standardinställningar. Microsoft.Azure.Cosmos.Emulator.exe
[Hjälp] Visar en lista över kommandoradsargument som stöds. Microsoft.Azure.Cosmos.Emulator.exe /?
GetStatus Hämtar status för emulatorn. Varje slutkod anger status: 1 = Start, 2 = Körning och 3 = Stoppad. En negativ slutkod anger att ett fel har uppstått. Inga andra utdata produceras. Microsoft.Azure.Cosmos.Emulator.exe /GetStatus
Shutdown Stänger av emulatorn. Microsoft.Azure.Cosmos.Emulator.exe /Shutdown
DataPath Anger den sökväg där du kan lagra filer. Standardvärdet är %LocalAppdata%\CosmosDBEmulator. Microsoft.Azure.Cosmos.Emulator.exe /DataPath=E:\SomeDataFolder
Port Anger det portnummer som ska användas för emulatorn. Standardvärdet är 8081. Microsoft.Azure.Cosmos.Emulator.exe /Port=65000
ComputePort Anger det portnummer som ska användas för beräknings-interop-gatewaytjänsten. Gatewayens HTTP-slutpunktsavsökningsport beräknas som ComputePort + 79. ComputePort Därför och ComputePort + 79 måste vara öppen och tillgänglig. Standardvärdet är 8900. Microsoft.Azure.Cosmos.Emulator.exe /ComputePort=65100
EnableMongoDbEndpoint=3.2 Aktiverar API för MongoDB version 3.2. Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.2
EnableMongoDbEndpoint=3.6 Aktiverar API för MongoDB version 3.6. Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.6
EnableMongoDbEndpoint=4.0 Aktiverar API för MongoDB version 4.0. Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=4.0
MongoPort Anger det portnummer som ska användas för API för MongoDB. Standardvärdet är 10255. Microsoft.Azure.Cosmos.Emulator.exe /MongoPort=65200
EnableCassandraEndpoint Aktiverar API för Apache Cassandra. Microsoft.Azure.Cosmos.Emulator.exe /EnableCassandraEndpoint
CassandraPort Anger det portnummer som ska användas för API:et för Cassandra-slutpunkten. Standardvärdet är 10350. Microsoft.Azure.Cosmos.Emulator.exe /CassandraPort=65300
EnableGremlinEndpoint Aktiverar API för Apache Gremlin. Microsoft.Azure.Cosmos.Emulator.exe /EnableGremlinEndpoint
GremlinPort Portnummer som ska användas för API:et för Apache Gremlin-slutpunkten. Standardvärdet är 8901. Microsoft.Azure.Cosmos.Emulator.exe /GremlinPort=65400
EnableTableEndpoint Aktiverar API för tabell. Microsoft.Azure.Cosmos.Emulator.exe /EnableTableEndpoint
TablePort Portnummer som ska användas för API:et för tabellslutpunkt. Standardvärdet är 8902. Microsoft.Azure.Cosmos.Emulator.exe /TablePort=65500
KeyFile Läs auktoriseringsnyckeln från den angivna filen. Använd alternativet /GenKeyFile för att generera en nyckelfil. Microsoft.Azure.Cosmos.Emulator.exe /KeyFile=D:\Keys\keyfile
ResetDataPath Rekursivt tar bort alla filer i den angivna sökvägen. Om du inte anger en sökväg är standardvärdet %LOCALAPPDATA%\CosmosDbEmulator. Microsoft.Azure.Cosmos.Emulator.exe /ResetDataPath
StartTraces Börja samla in spårningsloggar för felsökning med logman. Microsoft.Azure.Cosmos.Emulator.exe /StartTraces
StopTraces Sluta samla in spårningsloggar för felsökning med logman. Microsoft.Azure.Cosmos.Emulator.exe /StopTraces
StartWprTraces Börja samla in spårningsloggar för felsökning med verktyget Prestandainspelning i Windows . Microsoft.Azure.Cosmos.Emulator.exe /StartWprTraces
StopWprTraces Sluta samla in spårningsloggar för felsökning med verktyget Prestandainspelning i Windows . Microsoft.Azure.Cosmos.Emulator.exe /StopWprTraces
FailOnSslCertificateNameMismatch Som standard återskapar emulatorn sitt självsignerade TLS/SSL-certifikat, om certifikatets SAN inte innehåller emulatorvärdens domännamn, lokala IP-adress (v4), localhostoch 127.0.0.1. Med det här alternativet misslyckas emulatorn i stället vid start. Du bör sedan använda /GenCert alternativet för att skapa och installera ett nytt självsignerat TLS/SSL-certifikat. Microsoft.Azure.Cosmos.Emulator.exe /FailOnSslCertificateNameMismatch
GenCert Generera och installera ett nytt självsignerat TLS/SSL-certifikat. du kan också inkludera en kommaavgränsad lista med extra DNS-namn för åtkomst till emulatorn över nätverket. Microsoft.Azure.Cosmos.Emulator.exe /GenCert
DirectPorts Anger portarna som ska användas för direktanslutning. Standardvärdena är 10251, 10252, 10253och 10254. Microsoft.Azure.Cosmos.Emulator.exe /DirectPorts:65600,65700
Key Auktoriseringsnyckel för emulatorn. Nyckeln måste vara en base-64-kodning av en 64 bytes vektor. Microsoft.Azure.Cosmos.Emulator.exe /Key:D67PoU0bcK/kgPKFHu4W+3SUY9LNcwcFLIUHnwrkA==
EnableRateLimiting Anger att begränsande beteende för förfrågningsfrekvens är aktiverat. Microsoft.Azure.Cosmos.Emulator.exe /EnableRateLimiting
DisableRateLimiting Anger att begränsande beteende för förfrågningsfrekvens är inaktiverat. Microsoft.Azure.Cosmos.Emulator.exe /DisableRateLimiting
NoUI Visa inte emulatorns användargränssnitt. Microsoft.Azure.Cosmos.Emulator.exe /NoUI
NoExplorer Visa inte datautforskaren vid start. Microsoft.Azure.Cosmos.Emulator.exe /NoExplorer
PartitionCount Anger det maximala antalet partitionerade containrar. Mer information finns i ändra antalet containrar. Standardvärdet är 25. Det högsta tillåtna är 250. Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=15
DefaultPartitionCount Anger standardantalet partitioner för en partitionerad container. Standardvärdet är 25. Microsoft.Azure.Cosmos.Emulator.exe /DefaultPartitionCount=50
AllowNetworkAccess Ger åtkomst till emulatorn över ett nätverk. Du måste också skicka /Key=<key_string> eller/KeyFile=<file_name> för att aktivera nätverksåtkomst. Microsoft.Azure.Cosmos.Emulator.exe /AllowNetworkAccess /Key=D67PoU0bcK/kgPKFHu4W+3SUY9LNcwcFLIUHnwrkA==
NoFirewall Justera inte brandväggsregler när /AllowNetworkAccess alternativet används. Microsoft.Azure.Cosmos.Emulator.exe /NoFirewall
GenKeyFile Generera en ny auktoriseringsnyckel och spara den i den angivna filen. Den genererade nyckeln kan användas med /Key alternativen eller /KeyFile . Microsoft.Azure.Cosmos.Emulator.exe /GenKeyFile=D:\Keys\keyfile
Consistency Ställ in konsekvensnivå för kontot. Standardvärdet är Session. Microsoft.Azure.Cosmos.Emulator.exe /Consistency=Strong
? Visa hjälpmeddelandet.

Hantera emulatorn med PowerShell-cmdletar

Emulatorn levereras med en PowerShell-modul för att starta, stoppa, avinstallera och hämta tjänstens status. Kör följande cmdlet för att använda PowerShell-modulen:

Import-Module "$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules\Microsoft.Azure.CosmosDB.Emulator"

eller placera PSModules katalogen på din PSModulePath och importera den enligt följande kommando:

$env:PSModulePath += ";$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules"
Import-Module Microsoft.Azure.CosmosDB.Emulator

Här är en sammanfattning av kommandona för att styra emulatorn från PowerShell:

Get-CosmosDbEmulatorStatus

Hämtar status för emulatorn. Returnerar ett av följande ServiceControllerStatus värden:

  • ServiceControllerStatus.StartPending
  • ServiceControllerStatus.Running
  • ServiceControllerStatus.Stopped

Om ett fel påträffas returneras inget värde.

Syntax

Get-CosmosDbEmulatorStatus 
    [[-AlternativeInstallLocation] <String>] 
    [<CommonParameters>]

Parametrar

Namn Typ Beskrivning
AlternativeInstallLocation String

Exempel

  • Hämta status för en emulator som är installerad i D:\SomeFolder\AzureCosmosDBEmulator mappen .

    @parameters = {
        AlternativeInstallLocation = "D:\SomeFolder\AzureCosmosDBEmulator"
    }
    Get-CosmosDbEmulatorStatus @parameters
    

Start-CosmosDbEmulator

Startar emulatorn på den lokala datorn. Som standard väntar kommandot till emulatorn är redo att ta emot begäranden. -NoWait Använd alternativet om du vill att cmdleten ska returneras så snart emulatorn startas. Använd parametrarna Start-CosmosDbEmulator för för att ange alternativ, till exempel NoSQL-port, direktport och MongoDB-portnummer.

Syntax

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>]

Parametrar

Namn Typ Description
AllowNetworkAccess SwitchParameter Tillåt åtkomst från alla IP-adresser som tilldelats emulatorns värd. Du måste också ange ett värde för Nyckel eller KeyFile för att tillåta nätverksåtkomst.
AlternativeInstallLocation String Alternativ platssökväg till den körbara emulatorn.
CassandraPort UInt16 Portnummer som ska användas för API:et för Cassandra. Standardporten är 10350.
ComputePort UInt16 Port som ska användas för beräknings-interop-gatewaytjänsten. Gatewayens HTTP-slutpunktsavsökningsport beräknas som ComputePort + 79. ComputePort Därför, och ComputePort + 79 måste vara öppen och tillgänglig. Standardportarna är 8900, 8979.
Consistency String Anger standardkonsekvensnivån för emulatorn till Session, Strong, Eventual eller BoundedStaleness. Standardnivån är Session.
Credential PSCredential Anger ett användarkonto som har behörighet att utföra den här åtgärden. Använd ett användarnamn, till exempel User01 eller Domain01\User01, eller ange ett objekt, till exempel ett PSCredential från cmdleten Get-Credential . Som standard använder cmdleten den aktuella användarens autentiseringsuppgifter.
DataPath String Sökväg för att lagra datafiler. Standardplatsen för datafiler är $env:LocalAppData\CosmosDbEmulator.
DefaultPartitionCount UInt16 Antalet partitioner som ska reserveras per partitionerad samling. Standardvärdet är 25, vilket är samma som standardvärdet för det totala antalet partitioner.
DirectPort UInt16 En lista över fyra portar som ska användas för direkt anslutning till emulatorns serverdel. Standardlistan är 10251, 10252, 10253och 10254.
EnableMongoDb SwitchParameter Anger att API för MongoDB-slutpunkten är aktiverat. Standardvärdet är falskt.
EnableCassandra SwitchParameter Anger att API för Apache Cassandra-slutpunkten är aktiverat. Standardvärdet är falskt.
EnableGremlin SwitchParameter Anger att API för Apache Gremlin-slutpunkten är aktiverat. Standardvärdet är falskt.
EnableTable SwitchParameter Anger att API för tabellslutpunkt är aktiverat. Standardvärdet är falskt.
EnableSqlCompute SwitchParameter Anger att API för NoSQL-slutpunkt är aktiverat. Standardvärdet är falskt.
EnablePreview SwitchParameter Aktiverar emulatorfunktioner som är i förhandsversion och som inte är fullständigt mognade för att vara aktiverade som standard.
FailOnSslCertificateNameMismatch SwitchParameter Som standard återskapar emulatorn sitt självsignerade TLS/SSL-certifikat, om certifikatets SAN inte innehåller emulatorvärdens domännamn, lokal IP-adress (v4), localhostoch 127.0.0.1. Det här alternativet gör att emulatorn misslyckas vid start i stället. Du bör sedan använda New-CosmosDbEmulatorCertificate alternativet för att skapa och installera ett nytt självsignerat TLS/SSL-certifikat.
GremlinPort UInt16 Portnummer som ska användas för API:et för Apache Gremlin. Standardportnumret är 8901.
TablePort UInt16 Portnummer som ska användas för API:et för table. Standardportnumret är 8902.
SqlComputePort UInt16 Portnummer som ska användas för API:et för NoSQL. Standardportnumret är 8903.
Key String Auktoriseringsnyckel för emulatorn. Det här värdet måste vara base 64-kodningen för en 64-bytesvektor.
MongoPort UInt16 Portnummer som ska användas för API:et för MongoDB. Standardportnumret är 10250.
MongoApiVersion String Anger vilken version som ska användas för API:et för MongoDB. Standardversionen är 4.0.
NoFirewall SwitchParameter Anger att inga regler för inkommande portar ska läggas till i emulatorvärdens brandvägg.
NoTelemetry SwitchParameter Anger att cmdleten inte ska samla in data för den aktuella emulatorsessionen.
NoUI SwitchParameter Anger att cmdleten inte ska visa användargränssnittet eller aktivitetsfältets ikon.
NoWait SwitchParameter Anger att cmdleten ska returneras så snart emulatorn börjar starta. Som standard väntar cmdleten tills starten är klar och emulatorn är redo att ta emot begäranden innan den returneras.
PartitionCount UInt16 Det totala antalet partitioner som allokerats av emulatorn.
Port UInt16 Portnummer för emulatorns gatewaytjänst och webbgränssnitt. Standardportnumret är 8081.
SimulateRateLimiting SwitchParameter
Timeout UInt32
Trace SwitchParameter

Exempel

  • Starta emulatorn och vänta tills den är helt igång och redo att acceptera begäranden.

    Start-CosmosDbEmulator
    
  • Starta emulatorn med 5 partitioner reserverade för varje partitionerad samling. Det totala antalet partitioner är inställt på standardvärdet: 25. Därför är 5 = 25 partitions / 5 partitions/collectiondet totala antalet partitionerade samlingar som kan skapas . Varje partitionerad samling är begränsad till 50 GB = 5 partitions * 10 GB / partiton.

    @parameters = {
        DefaultPartitionCount = 5
    }
    Start-CosmosDbEmulator @parameters
    
  • Startar emulatorn med alternativa portnummer.

    @parameters = {
        Port = 443 
        MongoPort = 27017 
        DirectPort = 20001,20002,20003,20004
    }
    Start-CosmosDbEmulator @parameters
    

Stop-CosmosDbEmulator

Stoppar emulatorn. Som standard väntar kommandot tills emulatorn är helt avstängd. Använd alternativet -NoWait om du vill att cmdleten ska returneras så fort emulatorn börjar stängas av.

Syntax

Stop-CosmosDbEmulator 
    [[-AlternativeInstallLocation] <String>]
    [-NoWait] [[-Timeout] <UInt32>] [-Trace] 
    [<CommonParameters>]

Parametrar

Namn Typ Description
AlternativeInstallLocation String
Timeout UInt32
NoWait SwitchParameter Anger att cmdleten ska returneras så snart avstängningen påbörjas.
Trace SwitchParameter

Exempel

@parameters = {
    NoWait = $true
}
Stop-CosmosDbEmulator @parameters

Uninstall-CosmosDbEmulator

Avinstallerar emulatorn och tar eventuellt bort det fullständiga innehållet i $env:LOCALAPPDATA\CosmosDbEmulator. Cmdleten garanterar att emulatorn stoppas innan den avinstalleras.

Syntax

Uninstall-CosmosDbEmulator 
    [-RemoveData] 
    [<CommonParameters>]

Parametrar

Namn Typ Description
RemoveData SwitchParameter Anger att cmdleten ska ta bort alla data när emulatorn har tagits bort.

Exempel

@parameters = {
    RemoveData = $false
}
Uninstall-CosmosDbEmulator @parameters

Ändra antalet standardcontainrar

Som standard kan du skapa upp till 25 containrar med fast storlek (stöds endast med Azure Cosmos DB SDK:er) eller 5 obegränsade containrar med emulatorn. Genom att ändra PartitionCount-värdet kan du skapa upp till 250 containrar med fast storlek eller 50 obegränsade containrar, eller en kombination av de två som inte överskrider 250 containrar med fast storlek (där en obegränsad container = 5 containrar med fast storlek). Vi rekommenderar dock inte att konfigurera emulatorn så att den körs med fler än 200 containrar med fast storlek. På grund av det arbete som läggs till i diskens I/O-åtgärder, vilket resulterar i oförutsägbara timeouter när du använder slutpunkts-API:erna.

Om du försöker skapa en container när det aktuella partitionsantalet har överskridits utlöser emulatorn ett ServiceUnavailable-undantag med följande meddelande.

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

Om du vill ändra antalet containrar som är tillgängliga i emulatorn kör du följande steg:

  1. Ta bort alla lokala emulatordata genom att högerklicka på emulatorikonen i systemfältet och sedan klicka på Återställ data....

  2. Ta bort alla emulatordata i den här mappen %LOCALAPPDATA%\CosmosDBEmulator.

  3. Avsluta alla öppna instanser genom att högerklicka på emulatorikonen i systemfältet och sedan klicka på Avsluta. Det kan ta någon minut för alla instanser att avslutas.

  4. Installera den senaste versionen av emulatorn.

  5. Starta emulatorn med flaggan PartitionCount genom att ange ett värde <= 250. Exempel: C:\Program Files\emulator> Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=100.

Nästa steg