Windows (yerel) öykünücüsü için komut satırı ve PowerShell başvurusu

ŞUNLAR IÇIN GEÇERLIDIR: Nosql MongoDB Cassandra Gremlin Tablo

Azure Cosmos DB öykünücüsü, yerel geliştirme amacıyla Azure Cosmos DB hizmetine öykünen yerel bir ortam sağlar. Öykünücüyü yükledikten sonra, komut satırı ve PowerShell komutları ile öykünücüyü denetleyebilirsiniz. Bu makalede öykünücüyü başlatmak ve durdurmak, seçenekleri yapılandırmak ve diğer işlemleri gerçekleştirmek için komut satırı ve PowerShell komutlarının nasıl kullanılacağı açıklanır. Komutları yükleme konumundan çalıştırmanız gerekir.

Önemli

Bu makale yalnızca Windows yerel öykünücüsü için komut satırı bağımsız değişkenlerini içerir.

Komut satırı söz dizimi ile öykünücüyü yönetme

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

Parametre listesini görüntülemek için komut istemine yazın Microsoft.Azure.Cosmos.Emulator.exe /? .

Parametre Açıklama Örnek Komut
[Bağımsız değişken yok] Öykünücüyü varsayılan ayarlarla başlatır. Microsoft.Azure.Cosmos.Emulator.exe
[Yardım] Desteklenen komut satırı bağımsız değişkenleri listesini görüntüler. Microsoft.Azure.Cosmos.Emulator.exe /?
GetStatus Öykünücünün durumunu alır. Her çıkış kodu bir durum gösterir: 1 = Başlatılıyor, 2 = Çalışıyor ve 3 = Durduruldu. Negatif çıkış kodu, bir hata oluştuğunu gösterir. Başka bir çıktı üretilmez. Microsoft.Azure.Cosmos.Emulator.exe /GetStatus
Shutdown Öykünücüyü kapatır. Microsoft.Azure.Cosmos.Emulator.exe /Shutdown
DataPath Veri dosyalarının depolanacağı yolu belirtir. %LocalAppdata%\CosmosDBEmulator varsayılan değerdir. Microsoft.Azure.Cosmos.Emulator.exe /DataPath=E:\SomeDataFolder
Port Öykünücü için kullanılacak bağlantı noktası numarasını belirtir. 8081 varsayılan değerdir. Microsoft.Azure.Cosmos.Emulator.exe /Port=65000
ComputePort İşlem birlikte çalışma ağ geçidi hizmeti için kullanılacak bağlantı noktası numarasını belirtir. Ağ geçidinin HTTP uç nokta yoklama bağlantı noktası olarak ComputePort + 79hesaplanır. Bu nedenle ve ComputePortComputePort + 79 açık ve kullanılabilir olmalıdır. 8900 varsayılan değerdir. Microsoft.Azure.Cosmos.Emulator.exe /ComputePort=65100
EnableMongoDbEndpoint=3.2 MongoDB sürüm 3.2 için API'sini etkinleştirir. Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.2
EnableMongoDbEndpoint=3.6 MongoDB sürüm 3.6 için API'sini etkinleştirir. Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.6
EnableMongoDbEndpoint=4.0 MongoDB sürüm 4.0 için API'sini etkinleştirir. Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=4.0
MongoPort MongoDB için API için kullanılacak bağlantı noktası numarasını belirtir. Varsayılan değer 10255 olarak belirlenmiştir. Microsoft.Azure.Cosmos.Emulator.exe /MongoPort=65200
EnableCassandraEndpoint Apache Cassandra için API'ye olanak tanır. Microsoft.Azure.Cosmos.Emulator.exe /EnableCassandraEndpoint
CassandraPort Cassandra uç noktası api'sinde kullanılacak bağlantı noktası numarasını belirtir. Varsayılan değer 10350 olarak belirlenmiştir. Microsoft.Azure.Cosmos.Emulator.exe /CassandraPort=65300
EnableGremlinEndpoint Apache Gremlin için API'ye olanak tanır. Microsoft.Azure.Cosmos.Emulator.exe /EnableGremlinEndpoint
GremlinPort Apache Gremlin Uç Noktası API'sinde kullanılacak bağlantı noktası numarası. Varsayılan değer 8901 olarak belirlenmiştir. Microsoft.Azure.Cosmos.Emulator.exe /GremlinPort=65400
EnableTableEndpoint Tablo için API'sini etkinleştirir. Microsoft.Azure.Cosmos.Emulator.exe /EnableTableEndpoint
TablePort Tablo Uç Noktası API'sinde kullanılacak bağlantı noktası numarası. Varsayılan değer 8902 olarak belirlenmiştir. Microsoft.Azure.Cosmos.Emulator.exe /TablePort=65500
KeyFile Belirtilen dosyadan yetkilendirme anahtarını okuyun. Keyfile /GenKeyFile oluşturmak için seçeneğini kullanın. Microsoft.Azure.Cosmos.Emulator.exe /KeyFile=D:\Keys\keyfile
ResetDataPath Belirtilen yoldaki tüm dosyaları yinelemeli olarak kaldırır. Bir yol belirtmezseniz, varsayılan olarak %LOCALAPPDATA%\CosmosDbEmulatorolur. Microsoft.Azure.Cosmos.Emulator.exe /ResetDataPath
StartTraces LOGMAN kullanarak hata ayıklama izleme günlüklerini toplamaya başlayın. Microsoft.Azure.Cosmos.Emulator.exe /StartTraces
StopTraces LOGMAN kullanarak hata ayıklama izleme günlüklerini toplamayı durdurun. Microsoft.Azure.Cosmos.Emulator.exe /StopTraces
StartWprTraces Windows Performans Kaydı aracını kullanarak hata ayıklama izleme günlüklerini toplamaya başlayın. Microsoft.Azure.Cosmos.Emulator.exe /StartWprTraces
StopWprTraces Windows Performans Kaydı aracını kullanarak hata ayıklama izleme günlüklerini toplamayı durdurun. Microsoft.Azure.Cosmos.Emulator.exe /StopWprTraces
FailOnSslCertificateNameMismatch Varsayılan olarak, sertifikanın SAN'sı öykünücü ana bilgisayarının etki alanı adını, yerel IP adresini (v4) localhostve 127.0.0.1içermiyorsa öykünücü otomatik olarak imzalanan TLS/SSL sertifikasını yeniden oluşturur. Bu seçenekle öykünücü bunun yerine başlangıçta başarısız olur. Ardından, otomatik olarak imzalanan yeni bir TLS/SSL sertifikası oluşturup yüklemek için seçeneğini kullanmalısınız /GenCert . Microsoft.Azure.Cosmos.Emulator.exe /FailOnSslCertificateNameMismatch
GenCert Otomatik olarak imzalanan yeni bir TLS/SSL sertifikası oluşturun ve yükleyin. isteğe bağlı olarak, öykünücüye ağ üzerinden erişmek için fazladan DNS adlarının virgülle ayrılmış bir listesini ekleyin. Microsoft.Azure.Cosmos.Emulator.exe /GenCert
DirectPorts Doğrudan bağlantı için kullanılacak bağlantı noktalarını belirtir. Varsayılan değerler , 10252, 10253ve 10254'tir10251. Microsoft.Azure.Cosmos.Emulator.exe /DirectPorts:65600,65700
Key Öykünücü için yetkilendirme anahtarı. Anahtar, 64 bayt vektörün base 64 kodlaması olmalıdır. Microsoft.Azure.Cosmos.Emulator.exe /Key:D67PoU0bcK/kgPKFHu4W+3SUY9LNcwcFLIUHnwrkA==
EnableRateLimiting İstek oranını sınırlama davranışının etkinleştirildiğini belirtir. Microsoft.Azure.Cosmos.Emulator.exe /EnableRateLimiting
DisableRateLimiting İstek oranını sınırlama davranışının devre dışı bırakıldığını belirtir. Microsoft.Azure.Cosmos.Emulator.exe /DisableRateLimiting
NoUI Öykünücü kullanıcı arabirimini gösterme. Microsoft.Azure.Cosmos.Emulator.exe /NoUI
NoExplorer Başlangıçta veri gezginini gösterme. Microsoft.Azure.Cosmos.Emulator.exe /NoExplorer
PartitionCount Bölümlenmiş kapsayıcı sayısı üst sınırını belirtir. Daha fazla bilgi için bkz. Kapsayıcı sayısını değiştirme. 25 varsayılan değerdir. İzin verilen en yüksek değerdir 250. Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=15
DefaultPartitionCount Bölümlenmiş kapsayıcı için varsayılan bölüm sayısını belirtir. 25 varsayılan değerdir. Microsoft.Azure.Cosmos.Emulator.exe /DefaultPartitionCount=50
AllowNetworkAccess Bir ağ üzerinden öykünücüye erişilmesini sağlar. Ağ erişimini etkinleştirmek için veya /KeyFile=<file_name> de geçirmeniz /Key=<key_string> gerekir. Microsoft.Azure.Cosmos.Emulator.exe /AllowNetworkAccess /Key=D67PoU0bcK/kgPKFHu4W+3SUY9LNcwcFLIUHnwrkA==
NoFirewall Seçenek kullanıldığında güvenlik duvarı kurallarını /AllowNetworkAccess ayarlamayın. Microsoft.Azure.Cosmos.Emulator.exe /NoFirewall
GenKeyFile Yeni bir yetkilendirme anahtarı oluşturun ve belirtilen dosyaya kaydedin. Oluşturulan anahtar veya /KeyFile seçenekleriyle /Key birlikte kullanılabilir. Microsoft.Azure.Cosmos.Emulator.exe /GenKeyFile=D:\Keys\keyfile
Consistency Hesap için varsayılan tutarlılık düzeyini ayarlayın. Varsayılan değer Oturum'dur. Microsoft.Azure.Cosmos.Emulator.exe /Consistency=Strong
? Yardım iletisini gösterin.

Öykünücüyü PowerShell cmdlet'leriyle yönetme

Öykünücü, hizmetin durumunu başlatmak, durdurmak, kaldırmak ve almak için bir PowerShell modülüyle birlikte gelir. PowerShell modülünü kullanmak için aşağıdaki cmdlet'i çalıştırın:

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

veya dizininize PSModulePath yerleştirin PSModules ve aşağıdaki komutta gösterildiği gibi içeri aktarın:

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

Öykünücüyü PowerShell'den denetlemeye yönelik komutların özeti aşağıdadır:

Get-CosmosDbEmulatorStatus

Öykünücünün durumunu alır. Şu ServiceControllerStatus değerlerden birini döndürür:

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

Hatayla karşılaşılırsa hiçbir değer döndürülür.

Söz dizimi

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

Parametreler

Ad Tür Açıklama
AlternativeInstallLocation String

Örnekler

  • Klasörde yüklü bir öykünücünün D:\SomeFolder\AzureCosmosDBEmulator durumunu alın.

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

Start-CosmosDbEmulator

Öykünücüyü yerel bilgisayarda başlatır. Varsayılan olarak komut, öykünücünün istekleri kabul etmeye hazır olmasını bekler. -NoWait Cmdlet'in öykünücüyü başlattığı anda geri dönmesini istiyorsanız seçeneğini kullanın. NoSQL bağlantı noktası, doğrudan bağlantı noktası ve MongoDB bağlantı noktası numaraları gibi seçenekleri belirtmek için parametresini Start-CosmosDbEmulator kullanın.

Söz dizimi

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

Parametreler

Ad Tür Description
AllowNetworkAccess SwitchParameter Öykünücünün konağına atanan tüm IP Adreslerinden erişime izin verin. Ağ erişimine izin vermek için Key veya KeyFile için de bir değer belirtmeniz gerekir.
AlternativeInstallLocation String Öykünücü yürütülebilir dosyasının alternatif konum yolu.
CassandraPort UInt16 Cassandra API'sinde kullanılacak bağlantı noktası numarası. Varsayılan bağlantı noktası şeklindedir 10350.
ComputePort UInt16 İşlem birlikte çalışma ağ geçidi hizmeti için kullanılacak bağlantı noktası. Ağ geçidinin HTTP uç nokta yoklama bağlantı noktası olarak ComputePort + 79hesaplanır. Bu nedenle ve ComputePortComputePort + 79 açık ve kullanılabilir olmalıdır. Varsayılan bağlantı noktaları şunlardır: 8900, 8979.
Consistency String Öykünücü için varsayılan tutarlılık düzeyini Session, Strong, Eventual veya BoundedStaleness olarak ayarlar. Varsayılan düzey Oturum'dur.
Credential PSCredential Bu eylemi gerçekleştirme izni olan bir kullanıcı hesabı belirtir. veya Domain01\User01gibi User01 bir kullanıcı adı kullanın veya cmdlet'inden Get-Credential bir PSCredential nesne girin. Varsayılan olarak, cmdlet geçerli kullanıcının kimlik bilgilerini kullanır.
DataPath String Veri dosyalarını depolama yolu. Veri dosyalarının varsayılan konumu şeklindedir $env:LocalAppData\CosmosDbEmulator.
DefaultPartitionCount UInt16 Bölümlenmiş koleksiyon başına rezerve edilen bölüm sayısı. Varsayılan değer, toplam bölüm sayısının varsayılan değeriyle aynı olan 25'tir.
DirectPort UInt16 Öykünücünün arka ucuna doğrudan bağlantı için kullanılacak dört bağlantı noktasının listesi. Varsayılan liste , 10252, 10253ve 10254'dir10251.
EnableMongoDb SwitchParameter MongoDB uç noktası için API'nin etkinleştirildiğini belirtir. Varsayılan değer false'tur.
EnableCassandra SwitchParameter Apache Cassandra uç noktası için API'nin etkinleştirildiğini belirtir. Varsayılan değer false'tur.
EnableGremlin SwitchParameter Apache Gremlin uç noktası için API'nin etkinleştirildiğini belirtir. Varsayılan değer false'tur.
EnableTable SwitchParameter Tablo uç noktası için API'nin etkinleştirildiğini belirtir. Varsayılan değer false'tur.
EnableSqlCompute SwitchParameter NoSQL uç noktası için API'nin etkinleştirildiğini belirtir. Varsayılan değer false'tur.
EnablePreview SwitchParameter Önizleme aşamasında olan ve varsayılan olarak tam olarak açık olmayan öykünücü özelliklerini etkinleştirir.
FailOnSslCertificateNameMismatch SwitchParameter Varsayılan olarak, sertifikanın SAN'sı öykünücü ana bilgisayarının etki alanı adını, yerel IP adresini (v4) localhostve 127.0.0.1içermiyorsa öykünücü otomatik olarak imzalanan TLS/SSL sertifikasını yeniden oluşturur. Bu seçenek, öykünücünün başlangıçta başarısız olmasına neden olur. Ardından, otomatik olarak imzalanan yeni bir TLS/SSL sertifikası oluşturup yüklemek için seçeneğini kullanmalısınız New-CosmosDbEmulatorCertificate .
GremlinPort UInt16 Apache Gremlin API'sinde kullanılacak bağlantı noktası numarası. Varsayılan bağlantı noktası numarası şeklindedir 8901.
TablePort UInt16 Tablo API'sinde kullanılacak bağlantı noktası numarası. Varsayılan bağlantı noktası numarası şeklindedir 8902.
SqlComputePort UInt16 NoSQL API'sinde kullanılacak bağlantı noktası numarası. Varsayılan bağlantı noktası numarası şeklindedir 8903.
Key String Öykünücü için yetkilendirme anahtarı. Bu değer, 64 baytlık vektörünün temel 64 kodlaması olmalıdır.
MongoPort UInt16 MongoDB API'sinde kullanılacak bağlantı noktası numarası. Varsayılan bağlantı noktası numarası şeklindedir 10250.
MongoApiVersion String MongoDB API'sinde hangi sürümün kullanılacağını belirtir. Varsayılan sürüm: 4.0.
NoFirewall SwitchParameter Öykünücü konağın güvenlik duvarına gelen bağlantı noktası kuralı eklenmemesi gerektiğini belirtir.
NoTelemetry SwitchParameter Cmdlet'in geçerli öykünücü oturumu için veri toplamaması gerektiğini belirtir.
NoUI SwitchParameter Cmdlet'in kullanıcı arabirimini veya görev çubuğu simgesini göstermemesi gerektiğini belirtir.
NoWait SwitchParameter Öykünücü başlatılmaya başlar başlamaz cmdlet'in döndürülmesi gerektiğini belirtir. Varsayılan olarak cmdlet başlatma tamamlanana kadar bekler ve öykünücü geri dönmeden önce istekleri almaya hazırdır.
PartitionCount UInt16 Öykünücü tarafından ayrılan toplam bölüm sayısı.
Port UInt16 Öykünücü Ağ Geçidi Hizmeti ve Web kullanıcı arabirimi için bağlantı noktası numarası. Varsayılan bağlantı noktası numarası şeklindedir 8081.
SimulateRateLimiting SwitchParameter
Timeout UInt32
Trace SwitchParameter

Örnekler

  • Öykünücüyü başlatın ve tam olarak başlatılana ve istekleri kabul etmeye hazır olana kadar bekleyin.

    Start-CosmosDbEmulator
    
  • Öykünücüyü her bölümlenmiş koleksiyon için ayrılmış 5 bölümle başlatın. Toplam bölüm sayısı varsayılan olarak ayarlanır: 25. Bu nedenle, oluşturulabilecek bölümlenmiş koleksiyonların toplam sayısı olur 5 = 25 partitions / 5 partitions/collection. Bölümlenmiş koleksiyonların her biri adresinden 50 GB = 5 partitions * 10 GB / partitoneşlenir.

    @parameters = {
        DefaultPartitionCount = 5
    }
    Start-CosmosDbEmulator @parameters
    
  • Öykünücüyü alternatif bağlantı noktası numaralarıyla başlatır.

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

Stop-CosmosDbEmulator

Öykünücüyü durdurur. Varsayılan olarak bu komut, öykünücünün tamamen kapanmasını bekler. Cmdlet’in öykünücü kapanmaya başladığı anda geri dönmesini istiyorsanız -NoWait seçeneğini kullanın.

Söz dizimi

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

Parametreler

Ad Tür Description
AlternativeInstallLocation String
Timeout UInt32
NoWait SwitchParameter Cmdlet'in kapatma işlemi başlar başlamaz döndürülmesi gerektiğini belirtir.
Trace SwitchParameter

Örnekler

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

Uninstall-CosmosDbEmulator

Öykünücüyü kaldırır ve isteğe bağlı olarak tüm içeriğini $env:LOCALAPPDATA\CosmosDbEmulatorkaldırır. Cmdlet, öykünücüyü kaldırmadan önce öykünücünün tamamen durdurulduğundan emin olur.

Söz dizimi

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

Parametreler

Ad Tür Description
RemoveData SwitchParameter Cmdlet'in öykünücüyü kaldırdıktan sonra tüm verileri silmesi gerektiğini belirtir.

Örnekler

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

Varsayılan kapsayıcı sayısını değiştirme

Varsayılan olarak en fazla 25 sabit boyutlu kapsayıcı (yalnızca Azure Cosmos DB SDK'ları kullanılarak desteklenir) veya öykünücüyü kullanarak 5 sınırsız kapsayıcı oluşturabilirsiniz. PartitionCount değerini değiştirerek en fazla 250 sabit boyutlu kapsayıcı veya 50 sınırsız kapsayıcı ya da 250 sabit boyutlu kapsayıcıyı (burada bir sınırsız kapsayıcı = 5 sabit boyutlu kapsayıcı) aşmayan iki kapsayıcının herhangi bir bileşimini oluşturabilirsiniz. Ancak öykünücünün 200'den fazla sabit boyutlu kapsayıcıyla çalışacak şekilde ayarlanması önerilmez. Uç nokta API'leri kullanılırken öngörülemeyen zaman aşımlarına neden olan disk GÇ işlemlerine ek yük nedeniyle.

Geçerli bölüm sayısı aşıldıktan sonra bir kapsayıcı oluşturmayı denerseniz öykünücü aşağıdaki iletiyle birlikte bir ServiceUnavailable özel durumu oluşturur.

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

Öykünücüde kullanılabilen kapsayıcı sayısını değiştirmek için aşağıdaki adımları çalıştırın:

  1. Sistem tepsisinde öykünücü simgesine sağ tıklayıp Verileri Sıfırla... seçeneğine tıklayarak tüm yerel öykünücü verilerini silin.

  2. Bu klasördeki %LOCALAPPDATA%\CosmosDBEmulatortüm öykünücü verilerini silin.

  3. Sistem tepsisinde öykünücü simgesine sağ tıklayıp Çıkış'a tıklayarak tüm açık örneklerden çıkın. Tüm örneklerin çıkması bir dakika sürebilir.

  4. Öykünücünün en son sürümünü yükleyin.

  5. = 250 değerini <ayarlayarak PartitionCount bayrağıyla öykünücüyü başlatın. Örneğin: C:\Program Files\emulator> Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=100.

Sonraki adımlar