Opdrachtregel- en PowerShell-verwijzing voor Windows-emulator (lokaal)
VAN TOEPASSING OP: NoSQL MongoDB Cassandra Gremlin Tafel
De Azure Cosmos DB-emulator biedt een lokale omgeving waarmee de Azure Cosmos DB-service wordt geëmuleren 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 Microsoft.Azure.Cosmos.Emulator.exe /?
u bij de opdrachtprompt.
Parameter | Description | Voorbeeldopdracht |
---|---|---|
[Geen argumenten] | Start 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 reken-interoperabiliteitsgatewayservice. De HTTP-eindpunttestpoort van de gateway wordt berekend als ComputePort + 79 . ComputePort Daarom moet deze ComputePort + 79 open en beschikbaar zijn. De standaardwaarde is 8900 . |
Microsoft.Azure.Cosmos.Emulator.exe /ComputePort=65100 |
EnableMongoDbEndpoint=3.2 |
Hiermee schakelt u API voor MongoDB versie 3.2 in. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.2 |
EnableMongoDbEndpoint=3.6 |
Hiermee schakelt u API voor MongoDB versie 3.6 in. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.6 |
EnableMongoDbEndpoint=4.0 |
Hiermee schakelt u API voor MongoDB versie 4.0 in. | Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=4.0 |
MongoPort |
Hiermee geeft u het poortnummer dat moet worden gebruikt voor API voor MongoDB. De standaardwaarde is 10255 . |
Microsoft.Azure.Cosmos.Emulator.exe /MongoPort=65200 |
EnableCassandraEndpoint |
Hiermee schakelt u DE API voor Apache Cassandra in. | Microsoft.Azure.Cosmos.Emulator.exe /EnableCassandraEndpoint |
CassandraPort |
Hiermee geeft u het poortnummer dat moet worden gebruikt voor de API voor Cassandra-eindpunt. De standaardwaarde is 10350 . |
Microsoft.Azure.Cosmos.Emulator.exe /CassandraPort=65300 |
EnableGremlinEndpoint |
Hiermee schakelt u DE 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 DE 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 het standaard ingesteld op %LOCALAPPDATA%\CosmosDbEmulator . |
Microsoft.Azure.Cosmos.Emulator.exe /ResetDataPath |
StartTraces |
Begin met het verzamelen van traceerlogboeken voor foutopsporing met behulp van LOGMAN. | Microsoft.Azure.Cosmos.Emulator.exe /StartTraces |
StopTraces |
Stop met het verzamelen van traceerlogboeken voor foutopsporing met behulp van LOGMAN. | Microsoft.Azure.Cosmos.Emulator.exe /StopTraces |
StartWprTraces |
Begin met het verzamelen van traceerlogboeken voor foutopsporing met behulp van het hulpprogramma Windows Performance Recording . | Microsoft.Azure.Cosmos.Emulator.exe /StartWprTraces |
StopWprTraces |
Stop met het verzamelen van traceerlogboeken voor foutopsporing 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 niet de domeinnaam van de emulatorhost, het lokale IP-adres (v4) localhost 127.0.0.1 en . Met deze optie mislukt de emulator in plaats daarvan bij het opstarten. Vervolgens moet u 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 (Domain Name System) 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 zijn10251 , 10252 , en 10253 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 |
Laat de gebruikersinterface van de emulator niet zien. | 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 maximum is toegestaan 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 netwerktoegang doorgeven /Key=<key_string> of/KeyFile=<file_name> inschakelen. |
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 of /KeyFile opties. |
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 PSModules
map op uw PSModulePath
map 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 samenvatting 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 | Description |
---|---|---|
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 voor het opgeven van Start-CosmosDbEmulator
opties, 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 |
Toegang toestaan 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 compute-interoperabiliteit. De HTTP-eindpunttestpoort van de gateway wordt berekend als ComputePort + 79 . ComputePort Daarom moet deze 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 BoundedStaleness. 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 object uit de Get-Credential cmdlet. De cmdlet gebruikt standaard de referenties van de huidige gebruiker. |
DataPath |
String |
Pad naar 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, die gelijk is aan 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 en 10253 10254 . |
EnableMongoDb |
SwitchParameter |
Hiermee geeft u op dat API voor MongoDB-eindpunt is ingeschakeld. De standaardwaarde is onwaar. |
EnableCassandra |
SwitchParameter |
Hiermee geeft u op dat DE API voor het Apache Cassandra-eindpunt is ingeschakeld. De standaardwaarde is onwaar. |
EnableGremlin |
SwitchParameter |
Hiermee geeft u op dat de API voor het Apache Gremlin-eindpunt is ingeschakeld. De standaardwaarde is onwaar. |
EnableTable |
SwitchParameter |
Hiermee geeft u op dat API voor table-eindpunt is ingeschakeld. De standaardwaarde is onwaar. |
EnableSqlCompute |
SwitchParameter |
Hiermee geeft u op dat API voor NoSQL-eindpunt is ingeschakeld. De standaardwaarde is onwaar. |
EnablePreview |
SwitchParameter |
Hiermee kunnen emulatorfuncties die in preview zijn en die niet volledig zijn ontwikkeld, standaard ingeschakeld zijn. |
FailOnSslCertificateNameMismatch |
SwitchParameter |
Standaard genereert de emulator het zelfondertekende TLS/SSL-certificaat opnieuw als het SAN van het certificaat niet de domeinnaam van de emulatorhost, het lokale IP-adres (v4) localhost 127.0.0.1 en . Deze optie zorgt ervoor dat de emulator mislukt bij het opstarten. Vervolgens moet u 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-bytevector 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 het gebruikersinterface- of taakbalkpictogram niet mag presenteren. |
NoWait |
SwitchParameter |
Hiermee geeft u op dat de cmdlet moet worden geretourneerd zodra de emulator begint te starten. De cmdlet wacht standaard totdat het opstarten is voltooid en de emulator klaar is om aanvragen te ontvangen voordat deze worden geretourneerd. |
PartitionCount |
UInt16 |
Het totale aantal partities dat door de emulator is toegewezen. |
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 gereed is voor het accepteren van aanvragen.
Start-CosmosDbEmulator
Start de emulator met 5 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 wordt 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 eventueel 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 vaste grootte maken (alleen ondersteund met behulp van Azure Cosmos DB Software Development Kits (SDK's)) of vijf 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 containers met een vaste grootte die niet groter is dan 250 containers met vaste grootte (waarbij één onbeperkte container = 5 containers met een vaste grootte is). U wordt echter niet aangeraden de emulator in te stellen voor uitvoering met meer dan 200 containers met 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 dat beschikbaar is in de emulator te wijzigen:
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 af door met de rechtermuisknop op het emulatorpictogram in het systeemvak te klikken en vervolgens op Afsluiten te klikken. Het kan even duren voordat alle exemplaren zijn afgesloten.
Installeer de nieuwste versie van de emulator.
Start de emulator met de vlag PartitionCount door een waarde <= 250 in te stellen. Voorbeeld:
C:\Program Files\emulator> Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=100
.