Share via


Parancssori és PowerShell-referencia a Windows (helyi) emulátorhoz

A KÖVETKEZŐKRE VONATKOZIK: Nosql MongoDB Cassandra Gremlin Táblázat

Az Azure Cosmos DB emulátor egy helyi környezetet biztosít, amely helyi fejlesztési célokra emulálja az Azure Cosmos DB szolgáltatást. Az emulátor telepítése után parancssori és PowerShell-parancsokkal vezérelheti az emulátort. Ez a cikk azt ismerteti, hogyan használhatja a parancssori és PowerShell-parancsokat az emulátor elindításához és leállításához, a beállítások konfigurálásához és más műveletek végrehajtásához. A parancsokat a telepítési helyről kell futtatnia.

Fontos

Ez a cikk csak a Windows helyi emulátor parancssori argumentumait tartalmazza.

Az emulátor kezelése parancssori szintaxissal

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

A paraméterek listájának megtekintéséhez írja be Microsoft.Azure.Cosmos.Emulator.exe /? a parancsot a parancssorba.

Paraméter Leírás Példaparancs
[Nincsenek argumentumok] Elindítja az emulátort az alapértelmezett beállításokkal. Microsoft.Azure.Cosmos.Emulator.exe
[Súgó] Megjeleníti a támogatott parancssori argumentumok listáját. Microsoft.Azure.Cosmos.Emulator.exe /?
GetStatus Lekéri az emulátor állapotát. Minden kilépési kód a következő állapotot jelzi: 1 = Indítás, 2 = Futtatás és 3 = Leállítva. A negatív kilépési kód azt jelzi, hogy hiba történt. Nem jön létre más kimenet. Microsoft.Azure.Cosmos.Emulator.exe /GetStatus
Shutdown Leállítja az emulátort. Microsoft.Azure.Cosmos.Emulator.exe /Shutdown
DataPath Meghatározza az adatfájlok tárolására szolgáló elérési utat. Az alapértelmezett érték %LocalAppdata%\CosmosDBEmulator. Microsoft.Azure.Cosmos.Emulator.exe /DataPath=E:\SomeDataFolder
Port Az emulátorhoz használni kívánt portszámot határozza meg. Az alapértelmezett érték 8081. Microsoft.Azure.Cosmos.Emulator.exe /Port=65000
ComputePort Megadja a számítási interop átjáró szolgáltatáshoz használandó portszámot. Az átjáró HTTP-végpontjának mintavételi portja a következőképpen ComputePort + 79van kiszámítva: . Ezért és ComputePortComputePort + 79 nyitottnak és elérhetőnek kell lennie. Az alapértelmezett érték 8900. Microsoft.Azure.Cosmos.Emulator.exe /ComputePort=65100
EnableMongoDbEndpoint=3.2 Engedélyezi az API-t a MongoDB 3.2-es verziójához. Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.2
EnableMongoDbEndpoint=3.6 Engedélyezi az API-t a MongoDB 3.6-os verziójához. Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.6
EnableMongoDbEndpoint=4.0 Engedélyezi az API-t a MongoDB 4.0-s verziójához. Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=4.0
MongoPort Megadja a MongoDB API-hoz használandó portszámot. Az alapértelmezett érték 10255. Microsoft.Azure.Cosmos.Emulator.exe /MongoPort=65200
EnableCassandraEndpoint Engedélyezi az API-t az Apache Cassandra számára. Microsoft.Azure.Cosmos.Emulator.exe /EnableCassandraEndpoint
CassandraPort Megadja a Cassandra-végpont API-hoz használandó portszámot. Az alapértelmezett érték 10350. Microsoft.Azure.Cosmos.Emulator.exe /CassandraPort=65300
EnableGremlinEndpoint Engedélyezi az API-t az Apache Gremlinhez. Microsoft.Azure.Cosmos.Emulator.exe /EnableGremlinEndpoint
GremlinPort Az Apache Gremlin-végpont API-hoz használandó portszám. Az alapértelmezett érték 8901. Microsoft.Azure.Cosmos.Emulator.exe /GremlinPort=65400
EnableTableEndpoint Engedélyezi a Table API-t. Microsoft.Azure.Cosmos.Emulator.exe /EnableTableEndpoint
TablePort A Table Endpoint API-hoz használandó portszám. Az alapértelmezett érték 8902. Microsoft.Azure.Cosmos.Emulator.exe /TablePort=65500
KeyFile Olvassa be az engedélyezési kulcsot a megadott fájlból. Használja a /GenKeyFile lehetőséget egy kulcsfájl létrehozásához. Microsoft.Azure.Cosmos.Emulator.exe /KeyFile=D:\Keys\keyfile
ResetDataPath Rekurzív módon eltávolítja a megadott elérési út összes fájlját. Ha nem ad meg elérési utat, az alapértelmezés szerint a lesz %LOCALAPPDATA%\CosmosDbEmulator. Microsoft.Azure.Cosmos.Emulator.exe /ResetDataPath
StartTraces Indítsa el a nyomkövetési naplók hibakeresését a LOGMAN használatával. Microsoft.Azure.Cosmos.Emulator.exe /StartTraces
StopTraces A nyomkövetési naplók hibakeresésének leállítása a LOGMAN használatával. Microsoft.Azure.Cosmos.Emulator.exe /StopTraces
StartWprTraces Indítsa el a hibakeresési nyomkövetési naplók gyűjtését a Windows Teljesítményrögzítő eszközzel. Microsoft.Azure.Cosmos.Emulator.exe /StartWprTraces
StopWprTraces Állítsa le a hibakeresési nyomkövetési naplók gyűjtését a Windows Teljesítményrögzítő eszközzel. Microsoft.Azure.Cosmos.Emulator.exe /StopWprTraces
FailOnSslCertificateNameMismatch Alapértelmezés szerint az emulátor újragenerálja az önaláírt TLS/SSL-tanúsítványt, ha a tanúsítvány SAN-címe nem tartalmazza az emulátor gazdagépének tartománynevét, helyi IP-címét (v4), localhostés 127.0.0.1. Ezzel a beállítással az emulátor indításkor meghiúsul. Ezután használja a /GenCert lehetőséget egy új önaláírt TLS-/SSL-tanúsítvány létrehozására és telepítésére. Microsoft.Azure.Cosmos.Emulator.exe /FailOnSslCertificateNameMismatch
GenCert Új önaláírt TLS-/SSL-tanúsítvány létrehozása és telepítése. Opcionálisan az emulátor hálózaton keresztüli eléréséhez szükséges további DNS-nevek vesszővel tagolt listáját is tartalmazza. Microsoft.Azure.Cosmos.Emulator.exe /GenCert
DirectPorts A közvetlen kapcsolódáshoz használni kívánt portokat határozza meg. Az alapértelmezett értékek a következők: 10251, 10252, 10253és 10254. Microsoft.Azure.Cosmos.Emulator.exe /DirectPorts:65600,65700
Key Az emulátor engedélyezési kulcsa. A kulcsnak 64 bites vektor base-64 kódolásának kell lennie. Microsoft.Azure.Cosmos.Emulator.exe /Key:D67PoU0bcK/kgPKFHu4W+3SUY9LNcwcFLIUHnwrkA==
EnableRateLimiting Megadja, hogy a kérelmek sebességét korlátozó viselkedés engedélyezve van. Microsoft.Azure.Cosmos.Emulator.exe /EnableRateLimiting
DisableRateLimiting Megadja, hogy a kérelmek sebességét korlátozó viselkedés le van tiltva. Microsoft.Azure.Cosmos.Emulator.exe /DisableRateLimiting
NoUI Ne jelenítse meg az emulátor felhasználói felületét. Microsoft.Azure.Cosmos.Emulator.exe /NoUI
NoExplorer Az adatkezelő nem jelenik meg az indításkor. Microsoft.Azure.Cosmos.Emulator.exe /NoExplorer
PartitionCount A particionált tárolók maximális számát adja meg. További információ: Tárolók számának módosítása. Az alapértelmezett érték 25. A maximálisan engedélyezett érték.250 Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=15
DefaultPartitionCount Egy particionált tároló partícióinak alapértelmezett számát adja meg. Az alapértelmezett érték 25. Microsoft.Azure.Cosmos.Emulator.exe /DefaultPartitionCount=50
AllowNetworkAccess Hozzáférést nyújt az emulátorhoz egy hálózaton keresztül. A hálózati hozzáférés engedélyezéséhez a vagy a /KeyFile=<file_name>-t is meg kell adnia/Key=<key_string>. Microsoft.Azure.Cosmos.Emulator.exe /AllowNetworkAccess /Key=D67PoU0bcK/kgPKFHu4W+3SUY9LNcwcFLIUHnwrkA==
NoFirewall Ne módosítsa a tűzfalszabályokat a /AllowNetworkAccess beállítás használatakor. Microsoft.Azure.Cosmos.Emulator.exe /NoFirewall
GenKeyFile Új engedélyezési kulcsot készít, és a megadott fájlba menti azt. A generált kulcs a vagy /KeyFile beállításokkal /Key használható. Microsoft.Azure.Cosmos.Emulator.exe /GenKeyFile=D:\Keys\keyfile
Consistency Állítsa be a fiók alapértelmezett konzisztenciaszintjét. Az alapértelmezett érték a Munkamenet. Microsoft.Azure.Cosmos.Emulator.exe /Consistency=Strong
? A súgóüzenet megjelenítése.

Az emulátor kezelése PowerShell-parancsmagokkal

Az emulátorhoz tartozik egy PowerShell-modul, amellyel elindíthatja, leállíthatja, eltávolíthatja és lekérheti a szolgáltatás állapotát. Futtassa a következő parancsmagot a PowerShell-modul használatához:

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

vagy helyezze a PSModules könyvtárat a PSModulePath saját mappájára, és importálja az alábbi parancsnak megfelelően:

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

Íme az emulátor PowerShellből történő vezérlésére szolgáló parancsok összegzése:

Get-CosmosDbEmulatorStatus

Lekéri az emulátor állapotát. Az alábbi ServiceControllerStatus értékek egyikét adja vissza:

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

Hiba esetén a rendszer nem ad vissza értéket.

Szintaxis

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

Paraméterek

Név Típus Leírás
AlternativeInstallLocation String

Példák

  • Kérje le a mappában D:\SomeFolder\AzureCosmosDBEmulator telepített emulátor állapotát.

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

Start-CosmosDbEmulator

Elindítja az emulátort a helyi számítógépen. Alapértelmezés szerint a parancs addig vár, amíg az emulátor készen nem áll a kérések fogadására. Használja a -NoWait lehetőséget, ha azt szeretné, hogy a parancsmag azonnal visszatérjen, amint elindítja az emulátort. A paraméterekkel Start-CosmosDbEmulator megadhatja a beállításokat, például a NoSQL-portot, a közvetlen portot és a MongoDB-portszámokat.

Szintaxis

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

Paraméterek

Név Típus Description
AllowNetworkAccess SwitchParameter Engedélyezze a hozzáférést az emulátor gazdagépéhez rendelt összes IP-címről. A hálózati hozzáférés engedélyezéséhez a Kulcs vagy a KeyFile értékét is meg kell adnia.
AlternativeInstallLocation String Az emulátor végrehajtható helyének alternatív elérési útja.
CassandraPort UInt16 A Cassandra API-hoz használandó portszám. Az alapértelmezett port a következő 10350: .
ComputePort UInt16 A számítási interop átjáró szolgáltatáshoz használandó port. Az átjáró HTTP-végpontjának mintavételi portja a következőképpen lesz kiszámítva ComputePort + 79: . Ezért és ComputePortComputePort + 79 nyitottnak és elérhetőnek kell lennie. Az alapértelmezett portok a , 89008979.
Consistency String Az emulátor alapértelmezett konzisztenciaszintjének beállítása Munkamenet, Erős, Végleges vagy BoundedStaleness értékre. Az alapértelmezett szint a Munkamenet.
Credential PSCredential Olyan felhasználói fiókot ad meg, amely rendelkezik a művelet végrehajtásához szükséges engedéllyel. Használjon felhasználónevet, például User01 vagy Domain01\User01, vagy írjon be egy PSCredential objektumot, például egyet a Get-Credential parancsmagból. Alapértelmezés szerint a parancsmag az aktuális felhasználó hitelesítő adatait használja.
DataPath String Adatfájlok tárolásának elérési útja. Az adatfájlok alapértelmezett helye a .$env:LocalAppData\CosmosDbEmulator
DefaultPartitionCount UInt16 Particionált gyűjteményenként lefoglalandó partíciók száma. Az alapértelmezett érték 25, ami megegyezik a teljes partíciószám alapértelmezett értékével.
DirectPort UInt16 Az emulátor háttérrendszeréhez való közvetlen kapcsolódáshoz használandó négy port listája. Az alapértelmezett lista a 10251, 10252, 10253és 10254.
EnableMongoDb SwitchParameter Megadja, hogy a MongoDB-végpont API-ja engedélyezve legyen. Az alapértelmezett érték hamis.
EnableCassandra SwitchParameter Megadja, hogy az Apache Cassandra-végpont API-ja engedélyezve van-e. Az alapértelmezett érték hamis.
EnableGremlin SwitchParameter Megadja, hogy az Apache Gremlin-végpont API-ja engedélyezve van-e. Az alapértelmezett érték hamis.
EnableTable SwitchParameter Megadja, hogy a Table Endpoint API engedélyezve van-e. Az alapértelmezett érték hamis.
EnableSqlCompute SwitchParameter Megadja, hogy a NoSQL-végpont API-ja engedélyezve van-e. Az alapértelmezett érték hamis.
EnablePreview SwitchParameter Lehetővé teszi, hogy az előzetes verzióban elérhető, de még nem teljesen kiforrott emulátorfunkciók alapértelmezés szerint be legyenek kapcsolva.
FailOnSslCertificateNameMismatch SwitchParameter Alapértelmezés szerint az emulátor újragenerálja az önaláírt TLS/SSL-tanúsítványt, ha a tanúsítvány SAN-je nem tartalmazza az emulátor gazdagépének tartománynevét, helyi IP-címét (v4), localhostés 127.0.0.1. Ezzel a beállítással az emulátor indításkor meghiúsul. Ezután használja a New-CosmosDbEmulatorCertificate lehetőséget egy új önaláírt TLS/SSL-tanúsítvány létrehozására és telepítésére.
GremlinPort UInt16 Az Apache Gremlin API-hoz használandó portszám. Az alapértelmezett portszám a következő 8901: .
TablePort UInt16 A table API-hoz használandó portszám. Az alapértelmezett portszám a következő 8902: .
SqlComputePort UInt16 A NoSQL API-hoz használandó portszám. Az alapértelmezett portszám a következő 8903: .
Key String Az emulátor engedélyezési kulcsa. Ennek az értéknek egy 64 bájtos vektor alap 64 kódolásának kell lennie.
MongoPort UInt16 A MongoDB API-hoz használandó portszám. Az alapértelmezett portszám a következő 10250: .
MongoApiVersion String Megadja, hogy melyik verziót használja a MongoDB API-hoz. Az alapértelmezett verzió: 4.0.
NoFirewall SwitchParameter Megadja, hogy az emulátor gazdagép tűzfalához ne lehessen bejövő portszabályokat hozzáadni.
NoTelemetry SwitchParameter Megadja, hogy a parancsmag ne gyűjtsön adatokat az aktuális emulátor munkamenethez.
NoUI SwitchParameter Azt adja meg, hogy a parancsmag ne mutassa meg a felhasználói felületet vagy a tálca ikont.
NoWait SwitchParameter Megadja, hogy a parancsmagnak azonnal vissza kell térnie, amint az emulátor elindul. Alapértelmezés szerint a parancsmag megvárja az indítás befejezését, és az emulátor készen áll a kérések fogadására a visszatérés előtt.
PartitionCount UInt16 Az emulátor által lefoglalt partíciók teljes száma.
Port UInt16 Az emulátor átjárószolgáltatásának és webes felhasználói felületének portszáma. Az alapértelmezett portszám a következő 8081: .
SimulateRateLimiting SwitchParameter
Timeout UInt32
Trace SwitchParameter

Példák

  • Indítsa el az emulátort, és várja meg, amíg teljesen elindul, és készen áll a kérések elfogadására.

    Start-CosmosDbEmulator
    
  • Indítsa el az emulátort az egyes particionált gyűjteményekhez fenntartott 5 partícióval. A partíciók teljes száma az alapértelmezett értékre van állítva: 25. Ezért a létrehozható particionált gyűjtemények teljes száma.5 = 25 partitions / 5 partitions/collection Minden particionált gyűjtemény a címen 50 GB = 5 partitions * 10 GB / partitonvan leképezve.

    @parameters = {
        DefaultPartitionCount = 5
    }
    Start-CosmosDbEmulator @parameters
    
  • Elindítja az emulátort alternatív portszámokkal.

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

Stop-CosmosDbEmulator

Leállítja az emulátort. Alapértelmezés szerint ez a parancs addig vár, amíg az emulátor teljesen le nem állt. A -NoWait beállítást használja, ha azt szeretné, hogy a parancsmag az emulátor leállításakor visszatérjen.

Szintaxis

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

Paraméterek

Név Típus Description
AlternativeInstallLocation String
Timeout UInt32
NoWait SwitchParameter Megadja, hogy a parancsmagnak a leállítás kezdetekor azonnal vissza kell térnie.
Trace SwitchParameter

Példák

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

Uninstall-CosmosDbEmulator

Eltávolítja az emulátort, és opcionálisan eltávolítja a teljes tartalmát $env:LOCALAPPDATA\CosmosDbEmulator. A parancsmag biztosítja, hogy az emulátor le legyen állítva az eltávolítása előtt.

Szintaxis

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

Paraméterek

Név Típus Description
RemoveData SwitchParameter Megadja, hogy a parancsmagnak törölnie kell az összes adatot, miután eltávolította az emulátort.

Példák

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

Az alapértelmezett tárolók számának módosítása

Alapértelmezés szerint legfeljebb 25 rögzített méretű tárolót hozhat létre (csak az Azure Cosmos DB SDK-k használatával támogatott), vagy 5 korlátlan tárolót az emulátor használatával. A PartitionCount érték módosításával legfeljebb 250 rögzített méretű tárolót vagy 50 korlátlan tárolót hozhat létre, vagy a kettő bármely olyan kombinációját, amely nem haladja meg a 250 rögzített méretű tárolót (ahol egy korlátlan tároló = 5 rögzített méretű tároló). Az emulátort azonban nem ajánlott úgy beállítani, hogy több mint 200 rögzített méretű tárolóval fusson. A lemez I/O-műveleteihez hozzáadott többletterhelés miatt a végponti API-k használatakor kiszámíthatatlan időtúllépések következnek be.

Ha az aktuális partíciószám túllépése után próbál létrehozni egy tárolót, az emulátor serviceUnavailable kivételt küld az alábbi üzenettel.

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

Az emulátorban elérhető tárolók számának módosításához futtassa az alábbi lépéseket:

  1. Az összes helyi emulátoradat törléséhez kattintson a jobb gombbal a rendszertálcán az emulátor ikonra, majd kattintson az Adatok alaphelyzetbe állítása... parancsra.

  2. Törölje a mappában %LOCALAPPDATA%\CosmosDBEmulatorlévő összes emulátoradatot.

  3. Lépjen ki az összes megnyitott példányból. Ehhez kattintson a jobb gombbal az emulátor ikonra a tálcán, majd kattintson a Kilépés parancsra. Az összes példány bezárása egy percig is eltarthat.

  4. Telepítse az emulátor legújabb verzióját.

  5. Indítsa el az emulátort a PartitionCount jelzővel egy érték <= 250 beállításával. Példa: C:\Program Files\emulator> Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=100.

Következő lépések