Opdrachtregel- en PowerShell-naslaginformatie voor Windows (lokale) emulator
VAN TOEPASSING OP: Nosql MongoDB Cassandra Gremlin Tabel
De Azure Cosmos DB-emulator biedt een lokale omgeving die de Azure Cosmos DB-service emuleert voor lokale ontwikkelingsdoeleinden. Nadat u de emulator hebt geïnstalleerd, kunt u de emulator beheren met opdrachtregel- en PowerShell-opdrachten. In dit artikel wordt beschreven hoe u de opdrachtregel- en PowerShell-opdrachten gebruikt om de emulator te starten en te stoppen, opties te configureren en andere bewerkingen uit te voeren. U moet de opdrachten uitvoeren vanaf de installatielocatie.
Belangrijk
Dit artikel bevat alleen opdrachtregelargumenten voor de lokale Windows-emulator.
De emulator beheren met opdrachtregelsyntaxis
Microsoft.Azure.Cosmos.Emulator.exe
[/Shutdown] [/DataPath] [/Port] [/MongoPort]
[/DirectPorts] [/Key] [/EnableRateLimiting]
[/DisableRateLimiting] [/NoUI] [/NoExplorer]
[/EnableMongoDbEndpoint]
[/?]
Als u de lijst met parameters wilt weergeven, typt u Microsoft.Azure.Cosmos.Emulator.exe /?
bij de opdrachtprompt.
Parameter | Beschrijving | Voorbeeldopdracht |
---|---|---|
[Geen argumenten] | Hiermee start u de emulator met standaardinstellingen. | Microsoft.Azure.Cosmos.Emulator.exe |
[Help] | Toont de lijst met ondersteunde opdrachtregelargumenten. | Microsoft.Azure.Cosmos.Emulator.exe /? |
GetStatus |
Hiermee haalt u de status van de emulator op. Elke afsluitcode geeft een status aan: 1 = Starten, 2 = Uitvoeren en 3 = Gestopt. Een negatieve afsluitcode geeft aan dat er een fout is opgetreden. Er wordt geen andere uitvoer geproduceerd. |
Microsoft.Azure.Cosmos.Emulator.exe /GetStatus |
Shutdown |
Hiermee wordt de emulator afgesloten. | Microsoft.Azure.Cosmos.Emulator.exe /Shutdown |
DataPath |
Specificeert het pad waarin de gegevensbestanden worden opgeslagen. De standaardwaarde is %LocalAppdata%\CosmosDBEmulator . |
Microsoft.Azure.Cosmos.Emulator.exe /DataPath=E:\SomeDataFolder |
Port |
Specificeert het poortnummer dat moet worden gebruikt voor de emulator. De standaardwaarde is 8081 . |
Microsoft.Azure.Cosmos.Emulator.exe /Port=65000 |
ComputePort |
Hiermee geeft u het poortnummer op dat moet worden gebruikt voor de gatewayservice voor interoperabiliteit tussen berekeningen. De poort voor de HTTP-eindpunttest van de gateway wordt berekend als ComputePort + 79 . ComputePort Daarom moet en ComputePort + 79 open en beschikbaar zijn. De standaardwaarde is 8900 . |
Microsoft.Azure.Cosmos.Emulator.exe /ComputePort=65100 |
EnableMongoDbEndpoint=3.2 |
Hiermee schakelt u API in voor MongoDB versie 3.2. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.2 |
EnableMongoDbEndpoint=3.6 |
Hiermee schakelt u API in voor MongoDB versie 3.6. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.6 |
EnableMongoDbEndpoint=4.0 |
Hiermee schakelt u API in voor MongoDB versie 4.0. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=4.0 |
MongoPort |
Hiermee geeft u het poortnummer te gebruiken voor API voor MongoDB. De standaardwaarde is 10255 . |
Microsoft.Azure.Cosmos.Emulator.exe /MongoPort=65200 |
EnableCassandraEndpoint |
Hiermee schakelt u API voor Apache Cassandra in. | Microsoft.Azure.Cosmos.Emulator.exe /EnableCassandraEndpoint |
CassandraPort |
Hiermee geeft u het poortnummer te gebruiken voor de API voor Cassandra-eindpunt. De standaardwaarde is 10350 . |
Microsoft.Azure.Cosmos.Emulator.exe /CassandraPort=65300 |
EnableGremlinEndpoint |
Hiermee schakelt u API voor Apache Gremlin in. | Microsoft.Azure.Cosmos.Emulator.exe /EnableGremlinEndpoint |
GremlinPort |
Poortnummer dat moet worden gebruikt voor de API voor Apache Gremlin-eindpunt. De standaardwaarde is 8901 . |
Microsoft.Azure.Cosmos.Emulator.exe /GremlinPort=65400 |
EnableTableEndpoint |
Hiermee schakelt u API voor Table in. | Microsoft.Azure.Cosmos.Emulator.exe /EnableTableEndpoint |
TablePort |
Poortnummer dat moet worden gebruikt voor de API voor tabeleindpunt. De standaardwaarde is 8902 . |
Microsoft.Azure.Cosmos.Emulator.exe /TablePort=65500 |
KeyFile |
Leest de autorisatiesleutel uit het opgegeven bestand. Gebruik de /GenKeyFile optie om een sleutelbestand te genereren. |
Microsoft.Azure.Cosmos.Emulator.exe /KeyFile=D:\Keys\keyfile |
ResetDataPath |
Verwijdert recursief alle bestanden in het opgegeven pad. Als u geen pad opgeeft, wordt dit standaard ingesteld op %LOCALAPPDATA%\CosmosDbEmulator . |
Microsoft.Azure.Cosmos.Emulator.exe /ResetDataPath |
StartTraces |
Begin met het verzamelen van traceringslogboeken voor foutopsporing met behulp van LOGMAN. | Microsoft.Azure.Cosmos.Emulator.exe /StartTraces |
StopTraces |
Stop het verzamelen van traceringslogboeken voor foutopsporing met behulp van LOGMAN. | Microsoft.Azure.Cosmos.Emulator.exe /StopTraces |
StartWprTraces |
Begin met het verzamelen van traceringslogboeken voor foutopsporing met behulp van het hulpprogramma Windows Performance Recording . | Microsoft.Azure.Cosmos.Emulator.exe /StartWprTraces |
StopWprTraces |
Stop het verzamelen van logboeken voor foutopsporingstracering met behulp van het hulpprogramma Windows Performance Recording . | Microsoft.Azure.Cosmos.Emulator.exe /StopWprTraces |
FailOnSslCertificateNameMismatch |
Standaard genereert de emulator het zelfondertekende TLS/SSL-certificaat opnieuw als het SAN van het certificaat de domeinnaam, het lokale IP-adres (v4), localhost en 127.0.0.1 van de emulatorhost niet bevat. Met deze optie mislukt de emulator in plaats daarvan bij het opstarten. U moet vervolgens de /GenCert optie gebruiken om een nieuw zelfondertekend TLS/SSL-certificaat te maken en te installeren. |
Microsoft.Azure.Cosmos.Emulator.exe /FailOnSslCertificateNameMismatch |
GenCert |
Genereert en installeert een nieuw zelfondertekend TLS/SSL-certificaat. eventueel een door komma's gescheiden lijst met extra DNS-namen voor toegang tot de emulator via het netwerk. | Microsoft.Azure.Cosmos.Emulator.exe /GenCert |
DirectPorts |
Specificeert de poorten die worden gebruikt voor rechtstreekse connectiviteit. Standaardwaarden zijn 10251 , 10252 , 10253 en 10254 . |
Microsoft.Azure.Cosmos.Emulator.exe /DirectPorts:65600,65700 |
Key |
De autorisatiesleutel voor de emulator. De sleutel moet de base 64-codering zijn van een 64-byte-vector. | Microsoft.Azure.Cosmos.Emulator.exe /Key:D67PoU0bcK/kgPKFHu4W+3SUY9LNcwcFLIUHnwrkA== |
EnableRateLimiting |
Geeft aan dat het beperkingsgedrag van de aanvraagsnelheid is ingeschakeld. | Microsoft.Azure.Cosmos.Emulator.exe /EnableRateLimiting |
DisableRateLimiting |
Geeft aan dat het beperkingsgedrag van de aanvraagsnelheid is uitgeschakeld. | Microsoft.Azure.Cosmos.Emulator.exe /DisableRateLimiting |
NoUI |
De gebruikersinterface van de emulator niet weergeven. | Microsoft.Azure.Cosmos.Emulator.exe /NoUI |
NoExplorer |
Geen Data Explorer weergeven bij het opstarten. | Microsoft.Azure.Cosmos.Emulator.exe /NoExplorer |
PartitionCount |
Specificeert het maximum aantal gepartitioneerde containers. Zie Het aantal containers wijzigen voor meer informatie. De standaardwaarde is 25 . Het maximaal toegestane is 250 . |
Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=15 |
DefaultPartitionCount |
Specificeert het standaardaantal partities voor een gepartitioneerde container. De standaardwaarde is 25 . |
Microsoft.Azure.Cosmos.Emulator.exe /DefaultPartitionCount=50 |
AllowNetworkAccess |
Geeft toegang tot de emulator via een netwerk. U moet ook doorgeven /Key=<key_string> of /KeyFile=<file_name> om netwerktoegang in te schakelen. |
Microsoft.Azure.Cosmos.Emulator.exe /AllowNetworkAccess /Key=D67PoU0bcK/kgPKFHu4W+3SUY9LNcwcFLIUHnwrkA== |
NoFirewall |
Pas firewallregels niet aan wanneer /AllowNetworkAccess de optie wordt gebruikt. |
Microsoft.Azure.Cosmos.Emulator.exe /NoFirewall |
GenKeyFile |
Een nieuwe autorisatiesleutel genereren en opslaan in het opgegeven bestand. De gegenereerde sleutel kan worden gebruikt met de /Key opties of /KeyFile . |
Microsoft.Azure.Cosmos.Emulator.exe /GenKeyFile=D:\Keys\keyfile |
Consistency |
Het standaard consistentieniveau voor het account instellen. De standaardwaarde is Sessie. | Microsoft.Azure.Cosmos.Emulator.exe /Consistency=Strong |
? |
Het helpbericht weergeven. |
De emulator beheren met PowerShell-cmdlets
De emulator wordt geleverd met een PowerShell-module voor het starten, stoppen, en verwijderen van de emulator, en voor het ophalen van de status van de service. Voer de volgende cmdlet uit om de PowerShell-module te gebruiken:
Import-Module "$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules\Microsoft.Azure.CosmosDB.Emulator"
of plaats de map PSModules
in uw PSModulePath
en importeer deze zoals wordt weergegeven in de volgende opdracht:
$env:PSModulePath += ";$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules"
Import-Module Microsoft.Azure.CosmosDB.Emulator
Hier volgt een overzicht van de opdrachten voor het beheren van de emulator vanuit PowerShell:
Get-CosmosDbEmulatorStatus
Hiermee haalt u de status van de emulator op. Retourneert een van deze ServiceControllerStatus
waarden:
ServiceControllerStatus.StartPending
ServiceControllerStatus.Running
ServiceControllerStatus.Stopped
Als er een fout optreedt, wordt er geen waarde geretourneerd.
Syntaxis
Get-CosmosDbEmulatorStatus
[[-AlternativeInstallLocation] <String>]
[<CommonParameters>]
Parameters
Naam | Type | Beschrijving |
---|---|---|
AlternativeInstallLocation |
String |
Voorbeelden
Haal de status op van een emulator die in de
D:\SomeFolder\AzureCosmosDBEmulator
map is geïnstalleerd.@parameters = { AlternativeInstallLocation = "D:\SomeFolder\AzureCosmosDBEmulator" } Get-CosmosDbEmulatorStatus @parameters
Start-CosmosDbEmulator
Start de emulator op de lokale computer. Standaard wacht de opdracht totdat de emulator klaar is om aanvragen te accepteren. Gebruik de -NoWait
optie als u wilt dat de cmdlet wordt geretourneerd zodra de emulator wordt gestart. Gebruik de parameters van Start-CosmosDbEmulator
om opties op te geven, zoals de NoSQL-poort, directe poort en MongoDB-poortnummers.
Syntaxis
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>]
Parameters
Naam | Type | Description |
---|---|---|
AllowNetworkAccess |
SwitchParameter |
Sta toegang toe vanaf alle IP-adressen die zijn toegewezen aan de host van de emulator. U moet ook een waarde opgeven voor Key of KeyFile om netwerktoegang toe te staan. |
AlternativeInstallLocation |
String |
Alternatief locatiepad naar het uitvoerbare bestand van de emulator. |
CassandraPort |
UInt16 |
Poortnummer dat moet worden gebruikt voor de API voor Cassandra. De standaardpoort is 10350 . |
ComputePort |
UInt16 |
Poort die moet worden gebruikt voor de gatewayservice voor interoperabiliteit tussen berekeningen. De HTTP-eindpunttestpoort van de gateway wordt berekend als ComputePort + 79 . ComputePort Daarom moet en ComputePort + 79 open en beschikbaar zijn. De standaardpoorten zijn 8900 , 8979 . |
Consistency |
String |
Hiermee stelt u het standaardconsistentieniveau voor de emulator in op Sessie, Sterk, Uiteindelijk of GebondenStaleness. Het standaardniveau is Sessie. |
Credential |
PSCredential |
Hiermee geeft u een gebruikersaccount op dat gemachtigd is om deze actie uit te voeren. Gebruik een gebruikersnaam, zoals User01 of Domain01\User01 , of voer een PSCredential object in, zoals een van de Get-Credential cmdlet. De cmdlet gebruikt standaard de referenties van de huidige gebruiker. |
DataPath |
String |
Pad voor het opslaan van gegevensbestanden. De standaardlocatie voor gegevensbestanden is $env:LocalAppData\CosmosDbEmulator . |
DefaultPartitionCount |
UInt16 |
Het aantal partities dat per gepartitioneerde verzameling moet worden gereserveerd. De standaardwaarde is 25, wat hetzelfde is als de standaardwaarde van het totale aantal partities. |
DirectPort |
UInt16 |
Een lijst met vier poorten die moeten worden gebruikt voor directe connectiviteit met de back-end van de emulator. De standaardlijst is 10251 , 10252 , 10253 en 10254 . |
EnableMongoDb |
SwitchParameter |
Hiermee geeft u op dat API voor MongoDB-eindpunt is ingeschakeld. De standaardwaarde is false. |
EnableCassandra |
SwitchParameter |
Hiermee geeft u op dat API voor Apache Cassandra-eindpunt is ingeschakeld. De standaardwaarde is false. |
EnableGremlin |
SwitchParameter |
Hiermee geeft u op dat API voor Apache Gremlin-eindpunt is ingeschakeld. De standaardwaarde is false. |
EnableTable |
SwitchParameter |
Hiermee geeft u op dat API voor tabeleindpunt is ingeschakeld. De standaardwaarde is false. |
EnableSqlCompute |
SwitchParameter |
Hiermee geeft u op dat API voor NoSQL-eindpunt is ingeschakeld. De standaardwaarde is false. |
EnablePreview |
SwitchParameter |
Hiermee schakelt u emulatorfuncties in die in preview zijn en niet volledig zijn gerijpt om standaard ingeschakeld te zijn. |
FailOnSslCertificateNameMismatch |
SwitchParameter |
Standaard genereert de emulator het zelfondertekende TLS/SSL-certificaat opnieuw als het SAN van het certificaat niet de domeinnaam, het lokale IP-adres (v4), localhost en 127.0.0.1 van de emulatorhost bevat. Deze optie zorgt ervoor dat de emulator mislukt bij het opstarten. U moet vervolgens de New-CosmosDbEmulatorCertificate optie gebruiken om een nieuw zelfondertekend TLS/SSL-certificaat te maken en te installeren. |
GremlinPort |
UInt16 |
Poortnummer dat moet worden gebruikt voor de API voor Apache Gremlin. Het standaardpoortnummer is 8901 . |
TablePort |
UInt16 |
Poortnummer dat moet worden gebruikt voor de API voor Table. Het standaardpoortnummer is 8902 . |
SqlComputePort |
UInt16 |
Poortnummer dat moet worden gebruikt voor de API voor NoSQL. Het standaardpoortnummer is 8903 . |
Key |
String |
De autorisatiesleutel voor de emulator. Deze waarde moet de basis 64-codering van een 64-bytesvector zijn. |
MongoPort |
UInt16 |
Poortnummer dat moet worden gebruikt voor de API voor MongoDB. Het standaardpoortnummer is 10250 . |
MongoApiVersion |
String |
Hiermee geeft u op welke versie moet worden gebruikt voor de API voor MongoDB. De standaardversie is 4.0 . |
NoFirewall |
SwitchParameter |
Hiermee geeft u op dat er geen regels voor binnenkomende poorten moeten worden toegevoegd aan de firewall van de emulatorhost. |
NoTelemetry |
SwitchParameter |
Hiermee geeft u op dat de cmdlet geen gegevens moet verzamelen voor de huidige emulatorsessie. |
NoUI |
SwitchParameter |
Hiermee geeft u op dat de cmdlet niet het gebruikersinterface- of taakbalkpictogram moet weergeven. |
NoWait |
SwitchParameter |
Hiermee geeft u op dat de cmdlet moet worden geretourneerd zodra de emulator begint te starten. Standaard wacht de cmdlet totdat het opstarten is voltooid en de emulator klaar is om aanvragen te ontvangen voordat deze wordt geretourneerd. |
PartitionCount |
UInt16 |
Het totale aantal partities dat is toegewezen door de emulator. |
Port |
UInt16 |
Poortnummer voor de gatewayservice en webgebruikersinterface van de emulator. Het standaardpoortnummer is 8081 . |
SimulateRateLimiting |
SwitchParameter |
|
Timeout |
UInt32 |
|
Trace |
SwitchParameter |
Voorbeelden
Start de emulator en wacht totdat deze volledig is gestart en klaar is om aanvragen te accepteren.
Start-CosmosDbEmulator
Start de emulator met vijf partities die zijn gereserveerd voor elke gepartitioneerde verzameling. Het totale aantal partities is ingesteld op de standaardwaarde: 25. Daarom is
5 = 25 partitions / 5 partitions/collection
het totale aantal gepartitioneerde verzamelingen dat kan worden gemaakt. Elke gepartitioneerde verzameling is beperkt tot50 GB = 5 partitions * 10 GB / partiton
.@parameters = { DefaultPartitionCount = 5 } Start-CosmosDbEmulator @parameters
Start de emulator met alternatieve poortnummers.
@parameters = { Port = 443 MongoPort = 27017 DirectPort = 20001,20002,20003,20004 } Start-CosmosDbEmulator @parameters
Stop-CosmosDbEmulator
Stopt de emulator. Standaard wacht deze opdracht totdat de emulator volledig is afgesloten. Gebruik de optie -NoWait als u wilt dat de cmdlet wordt geretourneerd zodra het afsluiten van de emulator wordt gestart.
Syntaxis
Stop-CosmosDbEmulator
[[-AlternativeInstallLocation] <String>]
[-NoWait] [[-Timeout] <UInt32>] [-Trace]
[<CommonParameters>]
Parameters
Naam | Type | Description |
---|---|---|
AlternativeInstallLocation |
String |
|
Timeout |
UInt32 |
|
NoWait |
SwitchParameter |
Hiermee geeft u op dat de cmdlet moet worden geretourneerd zodra het afsluiten begint. |
Trace |
SwitchParameter |
Voorbeelden
@parameters = {
NoWait = $true
}
Stop-CosmosDbEmulator @parameters
Uninstall-CosmosDbEmulator
Hiermee verwijdert u de emulator en verwijdert u optioneel de volledige inhoud van $env:LOCALAPPDATA\CosmosDbEmulator
. De cmdlet zorgt ervoor dat de emulator is gestopt deze wordt verwijderd.
Syntaxis
Uninstall-CosmosDbEmulator
[-RemoveData]
[<CommonParameters>]
Parameters
Naam | Type | Description |
---|---|---|
RemoveData |
SwitchParameter |
Hiermee geeft u op dat de cmdlet alle gegevens moet verwijderen nadat de emulator is verwijderd. |
Voorbeelden
@parameters = {
RemoveData = $false
}
Uninstall-CosmosDbEmulator @parameters
Het aantal standaardcontainers wijzigen
Standaard kunt u maximaal 25 containers met een vaste grootte maken (alleen ondersteund met Behulp van Azure Cosmos DB SDK's) of 5 onbeperkte containers met behulp van de emulator. Door de partitioncount-waarde te wijzigen, kunt u maximaal 250 containers met vaste grootte of 50 onbeperkte containers maken, of een combinatie van de twee die niet groter is dan 250 containers met vaste grootte (waarbij één onbeperkte container = 5 containers met vaste grootte is). Het wordt echter afgeraden om de emulator uit te voeren met meer dan 200 containers met een vaste grootte. Vanwege de overhead die hierdoor wordt toegevoegd aan de I/O-bewerkingen van de schijf, ontstaan er dan onvoorspelbare time-outs bij het gebruik van de eindpunt-API's.
Als u probeert een container te maken nadat het huidige aantal partities is overschreden, genereert de emulator een ServiceUnavailable-uitzondering, met het volgende bericht.
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
Voer de volgende stappen uit om het aantal containers te wijzigen dat beschikbaar is in de emulator:
Verwijder alle lokale emulatorgegevens door met de rechtermuisknop op het emulatorpictogram in het systeemvak te klikken en vervolgens op Gegevens opnieuw instellen... te klikken.
Verwijder alle emulator-gegevens in de map
%LOCALAPPDATA%\CosmosDBEmulator
.Sluit alle geopende exemplaren door met de rechtermuisknop op het emulatorpictogram in het systeemvak te klikken en vervolgens op Afsluiten te klikken. Het afsluiten van alle exemplaren kan een paar minuten duren.
Installeer de nieuwste versie van de emulator.
Start de emulator met de vlag PartitionCount door een waarde <= 250 in te stellen. Bijvoorbeeld:
C:\Program Files\emulator> Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=100
.