Kommandorads- och PowerShell-referens för Windows-emulatorn (lokal)
GÄLLER FÖR: NoSQL MongoDB Kassandra Gremlin Bord
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 kommandoraden och PowerShell-kommandona. Den här artikeln beskriver hur du använder kommandorads- och PowerShell-kommandon 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 | Description | 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 emulatorns status. 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 . Därför, ComputePort 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 portnumret 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 portnumret 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 tabellslutpunkten. 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 den som standard %LOCALAPPDATA%\CosmosDbEmulator . |
Microsoft.Azure.Cosmos.Emulator.exe /ResetDataPath |
StartTraces |
Börja samla in spårningsloggar för felsökning med hjälp av 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 hjälp av windows prestandainspelningsverktyg . | Microsoft.Azure.Cosmos.Emulator.exe /StartWprTraces |
StopWprTraces |
Sluta samla in spårningsloggar för felsökning med hjälp av windows prestandainspelningsverktyg . | 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), localhost och 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 (Domain Name System) för åtkomst till emulatorn via nätverket. | Microsoft.Azure.Cosmos.Emulator.exe /GenCert |
DirectPorts |
Anger portarna som ska användas för direktanslutning. Standardvärdena är 10251 , 10252 , 10253 och 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 emulatorns status. Returnerar något 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 | Type | 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. Använd alternativet -NoWait
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 | Type | Beskrivning |
---|---|---|
AllowNetworkAccess |
SwitchParameter |
Tillåt åtkomst från alla IP-adresser som tilldelats till emulatorns värd. Du måste också ange ett värde för Key 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 . Därför, ComputePort 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 , 10253 och 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 helt 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, lokala IP-adress (v4), localhost och 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 tabell. 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 bas 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 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/collection
det totala antalet partitionerade samlingar som kan skapas . Varje partitionerad samling är begränsad till50 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 | Type | Beskrivning |
---|---|---|
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 | Type | Beskrivning |
---|---|---|
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 Hjälp av Azure Cosmos DB-programutvecklingspaket (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 någon 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 du konfigurerar emulatorn så att den körs med fler än 200 containrar med fast storlek. På grund av de omkostnader 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 genererar 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 tillgängliga containrar i emulatorn kör du följande steg:
Ta bort alla lokala emulatordata genom att högerklicka på emulatorikonen i systemfältet och sedan klicka på Återställ data....
Ta bort alla emulatordata i den här mappen
%LOCALAPPDATA%\CosmosDBEmulator
.Avsluta alla öppna instanser genom att högerklicka på emulatorikonen i systemfältet och sedan klicka på Avsluta. Det kan ta en minut innan alla instanser avslutas.
Installera den senaste versionen av emulatorn.
Starta emulatorn med flaggan PartitionCount genom att ange ett värde <= 250. Exempel:
C:\Program Files\emulator> Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=100
.