Aracılığıyla paylaş


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

ŞUNLAR IÇIN GEÇERLIDIR: NoSQL MongoDB Cassandra Gremlin Masa

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çıklanmaktadı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.

Öykünücüyü komut satırı söz dizimi ile 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 durumu 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. Varsayılan değer şudur: %LocalAppdata%\CosmosDBEmulator. Microsoft.Azure.Cosmos.Emulator.exe /DataPath=E:\SomeDataFolder
Port Öykünücü için kullanılacak bağlantı noktası numarasını belirtir. Varsayılan değer şudur: 8081. 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ç noktası yoklama bağlantı noktası olarak ComputePort + 79hesaplanır. Bu nedenle ve ComputePort ComputePort + 79 açık ve kullanılabilir olmalıdır. Varsayılan değer şudur: 8900. 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ı için API için 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'yi etkinleştirir. 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. /GenKeyFile Keyfile oluşturmak için seçeneğini kullanın. Microsoft.Azure.Cosmos.Emulator.exe /KeyFile=D:\Keys\keyfile
ResetDataPath Belirtilen yoldaki tüm dosyaları özyinelemeli olarak kaldırır. Bir yol belirtmezseniz, varsayılan olarak olur %LOCALAPPDATA%\CosmosDbEmulator. 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ü konağı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ü başlangıçta başarısız olur. Ardından, yeni bir otomatik olarak imzalanan 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, ağ üzerinden öykünücüye erişmek için fazladan Etki Alanı Adı Sistemi (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 : 10251, 10252, 10253ve 10254. 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östermeyin. 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. Varsayılan değer şudur: 25. İ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. Varsayılan değer şudur: 25. 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 Session'dır. 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özdizimi

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

Parametreler

Ad Tür Açıklama
AlternativeInstallLocation String

Örnekler

  • Klasörüne yüklenmiş 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özdizimi

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 Açıklama
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ç noktası yoklama bağlantı noktası olarak ComputePort + 79hesaplanır. Bu nedenle ve ComputePort ComputePort + 79 açık ve kullanılabilir olmalıdır. Varsayılan bağlantı noktaları , şeklindedir89008979.
Consistency String Öykünücü için varsayılan tutarlılık düzeyini Oturum, Güçlü, Nihai veya BoundedStaleness olarak ayarlar. Varsayılan düzey Oturum'dur .
Credential PSCredential Bu eylemi gerçekleştirme iznine sahip bir kullanıcı hesabı belirtir. veya Domain01\User01gibi User01 bir kullanıcı adı kullanın veya cmdlet'indeki Get-Credential gibi 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 konumudur $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 , , 1025210253ve 10254şeklindedir10251.
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 olgunlaşmış olmayan öykünücü özelliklerini etkinleştirir.
FailOnSslCertificateNameMismatch SwitchParameter Varsayılan olarak, sertifikanın SAN'sı öykünücü konağı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, yeni bir otomatik olarak imzalanan 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ıdır 8901.
TablePort UInt16 Tablo API'sinde kullanılacak bağlantı noktası numarası. Varsayılan bağlantı noktası numarasıdır 8902.
SqlComputePort UInt16 NoSQL API'sinde kullanılacak bağlantı noktası numarası. Varsayılan bağlantı noktası numarasıdır 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ıdır 10250.
MongoApiVersion String MongoDB IÇIN API için 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ıdır 8081.
SimulateRateLimiting SwitchParameter
Timeout UInt32
Trace SwitchParameter

Örnekler

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

    Start-CosmosDbEmulator
    
  • Her bölümlenmiş koleksiyon için ayrılmış 5 bölümle öykünücüyü başlatın. Toplam bölüm sayısı varsayılan değere ayarlanır: 25. Bu nedenle, oluşturulabilecek bölümlenmiş koleksiyonların toplam sayısıdır 5 = 25 partitions / 5 partitions/collection. Bölümlenmiş koleksiyonların her biri konumunda 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özdizimi

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

Parametreler

Ad Tür Açıklama
AlternativeInstallLocation String
Timeout UInt32
NoWait SwitchParameter Cmdlet'in kapatma 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özdizimi

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

Parametreler

Ad Tür Açıklama
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, öykünücüyü kullanarak en fazla 25 sabit boyutlu kapsayıcı (yalnızca Azure Cosmos DB yazılım geliştirme setleri (SDK) kullanılarak desteklenir) veya 5 sınırsız kapsayıcı oluşturabilirsiniz. PartitionCount değerini değiştirerek, 250'ye kadar sabit boyutlu kapsayıcı veya 50 sınırsız kapsayıcı ya da 250 sabit boyutlu kapsayıcıyı (bir sınırsız kapsayıcı = 5 sabit boyutlu kapsayıcı) aşmayan ikisinin herhangi bir bileşimini oluşturabilirsiniz. Ancak öykünücüyü 200'den fazla sabit boyutlu kapsayıcıyla çalışacak şekilde ayarlamanızı önermiyoruz. Disk GÇ işlemlerine eklediği ek yük nedeniyle uç nokta API'leri kullanılırken tahmin edilemeyen zaman aşımlarına neden olur.

Geçerli bölüm sayısı aşıldıktan sonra bir kapsayıcı oluşturmaya çalışırsanız öykünücü aşağıdaki iletiyle 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. Bir değer <= 250 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