Yerel geliştirme ve test için Azure Cosmos öykünücüsünü kullanmaUse the Azure Cosmos Emulator for local development and testing

Azure Cosmos öykünücüsü'nü geliştirme amacıyla Azure Cosmos DB hizmetine öykünür yerel bir ortam sağlar.The Azure Cosmos Emulator provides a local environment that emulates the Azure Cosmos DB service for development purposes. Azure Cosmos öykünücüsü'nü kullanarak geliştirme ve bir Azure aboneliği oluşturmadan veya masraf yapmadan uygulamanızı yerel olarak test edin.Using the Azure Cosmos Emulator, you can develop and test your application locally, without creating an Azure subscription or incurring any costs. Uygulamanızı Azure Cosmos öykünücüsü'nde nasıl çalıştığı ile memnun kaldığınızda, bulutta bir Azure Cosmos hesabı kullanmaya başlayabilirsiniz.When you're satisfied with how your application is working in the Azure Cosmos Emulator, you can switch to using an Azure Cosmos account in the cloud.

Azure Cosmos öykünücüsü'nü ile geliştirebilirsiniz SQL, Cassandra, MongoDB, Gremlin, ve tablo API hesaplarını.You can develop using Azure Cosmos Emulator with SQL, Cassandra, MongoDB, Gremlin, and Table API accounts. Ancak şu anda öykünücü Veri Gezgini görünümünde tamamen istemcileri SQL API'si için yalnızca destekler.However at this time the Data Explorer view in the emulator fully supports clients for SQL API only.

Öykünücü nasıl çalışır?How the emulator works

Azure Cosmos öykünücüsü'nü bir Azure Cosmos DB hizmetinin yüksek kaliteli öykünmesi sağlar.The Azure Cosmos Emulator provides a high-fidelity emulation of the Azure Cosmos DB service. Azure Cosmos oluşturmak ve verileri sorgulamak için destek dahil olmak üzere sağlama DB olarak aynı işlevselliği destekler ve kapsayıcıları ölçekleme ve yürütme saklı yordamlar ve tetikleyiciler.It supports identical functionality as Azure Cosmos DB, including support for creating and querying data, provisioning and scaling containers, and executing stored procedures and triggers. Geliştirme ve Azure Cosmos öykünücüsü'nü uygulamaları test edin ve yalnızca tek bir yapılandırma için Azure Cosmos DB bağlantı uç noktası için değişiklik yaparak global bir ölçekte Azure'a dağıtın.You can develop and test applications using the Azure Cosmos Emulator, and deploy them to Azure at global scale by just making a single configuration change to the connection endpoint for Azure Cosmos DB.

Azure Cosmos DB hizmetinin öykünmesi aslına sadık olsa da, öykünücünün uygulaması hizmetten farklıdır.While emulation of the Azure Cosmos DB service is faithful, the emulator's implementation is different than the service. Örneğin öykünücü, kalıcılık için yerel dosya sistemi gibi standart işletim sistemi bileşenlerini ve bağlantı için HTTPS protokolü yığınını kullanır.For example, the emulator uses standard OS components such as the local file system for persistence, and the HTTPS protocol stack for connectivity. Genel çoğaltma gibi Azure altyapı dayanan işlevselliği okumayı/yazmayı ve ince ayarlanabilir tutarlılık düzeyleri için Tek haneli milisaniyelik gecikme kazanılan geçerli değildir.Functionality that relies on Azure infrastructure like global replication, single-digit millisecond latency for reads/writes, and tunable consistency levels are not applicable.

Kullanarak Azure Cosmos öykünücü ve Azure Cosmos DB hizmetini arasında verileri geçirebilirsiniz Azure Cosmos DB veri geçiş aracı.You can migrate data between the Azure Cosmos Emulator and the Azure Cosmos DB service by using the Azure Cosmos DB Data Migration Tool.

Azure Cosmos öykünücüsü Windows Docker kapsayıcısını çalıştırın, bkz: Docker Hub docker çekme komutu için ve GitHub öykünücü kaynak kodunuz için.You can run Azure Cosmos Emulator on the Windows Docker container, see the Docker Hub for the docker pull command and GitHub for the emulator source code.

Öykünücü ile hizmet arasındaki farklarDifferences between the emulator and the service

Azure Cosmos öykünücüsü'nü çalıştıran yerel geliştirici iş istasyonunda benzetilmiş bir ortam sağladığından, bazı işlevsel farklılıklar öykünücü ve Azure Cosmos hesabınız arasında bulutta vardır:Because the Azure Cosmos Emulator provides an emulated environment running on the local developer workstation, there are some differences in functionality between the emulator and an Azure Cosmos account in the cloud:

  • Şu anda veri Gezgini'nde öykünücü SQL API'si için istemcileri destekler.Currently Data Explorer in the emulator supports clients for SQL API. Veri Gezgini görünümü ve işlemleri için Azure Cosmos DB API'leri MongoDB, tablo, grafik ve Cassandra API gibi tam olarak desteklenmez.The Data Explorer view and operations for Azure Cosmos DB APIs such as MongoDB, Table, Graph, and Cassandra APIs are not fully supported.
  • Azure Cosmos öykünücüsü, yalnızca tek bir sabit hesap ve iyi bilinen bir ana anahtar destekler.The Azure Cosmos Emulator supports only a single fixed account and a well-known master key. Anahtarı yeniden üretme Azure Cosmos öykünücüsü'nde mümkün değildir, bu komut satırı seçeneğini kullanarak varsayılan anahtarı değiştirilebilir ancak.Key regeneration is not possible in the Azure Cosmos Emulator, however the default key can be changed using the command-line option.
  • Azure Cosmos öykünücüsü'nü ölçeklenebilir bir hizmet değil ve çok sayıda kapsayıcı desteklemez.The Azure Cosmos Emulator is not a scalable service and will not support a large number of containers.
  • Azure Cosmos öykünücüsü'nü farklı sunmaz Azure Cosmos DB tutarlılık düzeyleri.The Azure Cosmos Emulator does not offer different Azure Cosmos DB consistency levels.
  • Azure Cosmos öykünücüsü'nü teklif değil çok bölgeli çoğaltma.The Azure Cosmos Emulator does not offer multi-region replication.
  • Azure Cosmos öykünücüsü'nü kopyanızın her zaman Azure Cosmos DB hizmetini en son değişikliklerle güncel olmayabilir olarak başvurmanız gerekir Azure Cosmos DB kapasite Planlayıcısı üretim doğru şekilde tahmin etmek için Uygulamanızın ihtiyaçlarını aktarım hızını (RU).As your copy of the Azure Cosmos Emulator might not always be up-to-date with the most recent changes in the Azure Cosmos DB service, you should refer to the Azure Cosmos DB capacity planner to accurately estimate the production throughput (RUs) needs of your application.
  • Varsayılan olarak Azure Cosmos öykünücüsü'nü kullanırken, en fazla 25 sabit boyutlu kapsayıcıların (yalnızca Azure Cosmos DB SDK'larını kullanarak desteklenir) veya Azure Cosmos öykünücüsü'nü 5 sınırsız kapsayıcılar oluşturabilirsiniz.When using the Azure Cosmos Emulator, by default, you can create up to 25 fixed size containers (only supported using Azure Cosmos DB SDKs), or 5 unlimited containers using the Azure Cosmos Emulator. Bu değeri değiştirme hakkında daha fazla bilgi için bkz. PartitionCount değerini ayarlama.For more information about changing this value, see Setting the PartitionCount value.

Sistem gereksinimleriSystem requirements

Azure Cosmos öykünücüsü'nü donanım ve yazılım gereksinimleri şunlardır:The Azure Cosmos Emulator has the following hardware and software requirements:

  • Yazılım gereksinimleriSoftware requirements
    • Windows Server 2012 R2, Windows Server 2016 veya Windows 10Windows Server 2012 R2, Windows Server 2016, or Windows 10
    • 64-bit işletim sistemi64-bit operating system
  • Minimum Donanım gereksinimleriMinimum Hardware requirements
    • 2-GB RAM2-GB RAM
    • 10 GB kullanılabilir sabit disk alanı10-GB available hard disk space

YüklemeInstallation

Azure Cosmos Öykünücüsünden yükleyip Microsoft Download Center veya öykünücü için Docker Windows üzerinde çalıştırabilirsiniz.You can download and install the Azure Cosmos Emulator from the Microsoft Download Center or you can run the emulator on Docker for Windows. Öykünücüyü Docker for Windows'da kullanmaya ilişkin yönergeler için bkz. Docker üzerinde çalıştırma.For instructions on using the emulator on Docker for Windows, see Running on Docker.

Not

Yükleme, yapılandırma ve Azure Cosmos öykünücüyü çalıştırmak için bilgisayarda yönetici ayrıcalıkları olmalıdır.To install, configure, and run the Azure Cosmos Emulator, you must have administrative privileges on the computer. Öykünücü, bir sertifika oluşturun/ekleyin ve ayrıca hizmetlerini çalıştırmak için güvenlik duvarı kuralları ayarlamanıza; Bu nedenle öykünücü gibi işlemleri yürütmek gereklidir.The emulator will create/add a certificate and also set the firewall rules in order to run its services; therefore it's necessary for the emulator to be able to execute such operations.

Windows’da çalıştırmaRunning on Windows

Azure Cosmos öykünücü başlatmak için Başlat düğmesine basın veya Windows tuşuna basın.To start the Azure Cosmos Emulator, select the Start button or press the Windows key. Yazmaya başlayın Azure Cosmos öykünücüsüve öykünücü uygulamalar listesinden seçin.Begin typing Azure Cosmos Emulator, and select the emulator from the list of applications.

Başlat düğmesine basın ya da Windows tuşuna basın, yazmaya başlayın ** Azure Cosmos öykünücü ** ve uygulamalar listesinden öykünücüyü seçin

Öykünücü çalıştırıldığında, Windows görev çubuğu bildirim alanında bir simge görürsünüz.When the emulator is running, you'll see an icon in the Windows taskbar notification area. Azure Cosmos DB yerel öykünücüsü görev çubuğu bildirimi

Varsayılan olarak Azure Cosmos öykünücüsü'nü 8081 numaralı bağlantı noktasında dinleme yerel makinede ("localhost") çalışır.The Azure Cosmos Emulator by default runs on the local machine ("localhost") listening on port 8081.

Azure Cosmos öykünücü yüklü olduğu C:\Program Files\Azure Cosmos DB Emulator varsayılan olarak.The Azure Cosmos Emulator is installed to C:\Program Files\Azure Cosmos DB Emulator by default. Komut satırından da öykünücüyü başlatabilir ve durdurabilirsiniz.You can also start and stop the emulator from the command-line. Daha fazla bilgi için bkz. komut satırı aracı başvurusu.For more information, see the command-line tool reference.

Veri Gezgini’ni BaşlatStart Data Explorer

Azure Cosmos öykünücüsü'nü başlattığında, tarayıcınızda otomatik olarak Azure Cosmos Veri Gezgini'ni açar.When the Azure Cosmos Emulator launches, it automatically opens the Azure Cosmos Data Explorer in your browser. Adres olarak görünür https://localhost:8081/_explorer/index.html.The address appears as https://localhost:8081/_explorer/index.html. Explorer'ı kapatın ve daha sonra yeniden açmak istiyorsanız, URL'yi tarayıcınızda açın veya aşağıda gösterildiği gibi Azure Cosmos öykücüsünden Windows Tepsi simgesinde başlatın.If you close the explorer and would like to reopen it later, you can either open the URL in your browser or launch it from the Azure Cosmos Emulator in the Windows Tray Icon as shown below.

Azure Cosmos yerel öykünücü Veri Gezgini Başlatıcısı

Güncelleştirmeleri denetlemeChecking for updates

Veri Gezgini, indirilebilir yeni bir güncelleştirme olup olmadığını belirtir.Data Explorer indicates if there is a new update available for download.

Not

Veri birinde oluşturulan Azure Cosmos öykünücüsü'nü sürümünü (%LOCALAPPDATA%\CosmosDBEmulator ya da veri yolu isteğe bağlı ayarlar bakın) garanti edilmez farklı bir sürümünü kullanırken erişilebilir olması.Data created in one version of the Azure Cosmos Emulator (see %LOCALAPPDATA%\CosmosDBEmulator or data path optional settings) is not guaranteed to be accessible when using a different version. Uzun süreli verilerinizin kalıcı hale getirilmesi gerekiyorsa, Azure Cosmos hesabınız yerine Azure Cosmos öykünücüsü'nü verileri saklamanız önerilir.If you need to persist your data for the long term, it is recommended that you store that data in an Azure Cosmos account, rather than in the Azure Cosmos Emulator.

İsteklerin kimliğini doğrulamaAuthenticating requests

Olarak bulutta, Azure Cosmos DB ile Azure Cosmos öykünücüsüne karşı yaptığınız her isteğin kimliğinin doğrulanması gerekir.As with Azure Cosmos DB in the cloud, every request that you make against the Azure Cosmos Emulator must be authenticated. Azure Cosmos öykünücüsü'nü ana anahtarı kimlik doğrulaması için tek bir sabit hesap ve iyi bilinen bir kimlik doğrulama anahtarı destekler.The Azure Cosmos Emulator supports a single fixed account and a well-known authentication key for master key authentication. Bu hesabı ve anahtarı Azure Cosmos öykünücüsü ile kullanmak için izin verilen tek kimlik bilgileridir.This account and key are the only credentials permitted for use with the Azure Cosmos Emulator. Bunlar:They are:

Account name: localhost:<port>
Account key: C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==

Not

Azure Cosmos öykünücüsü tarafından desteklenen ana anahtarı yalnızca öykünücü ile kullanıma yöneliktir.The master key supported by the Azure Cosmos Emulator is intended for use only with the emulator. Üretim Azure Cosmos DB hesabınız ve anahtarı Azure Cosmos öykünücü ile kullanamazsınız.You cannot use your production Azure Cosmos DB account and key with the Azure Cosmos Emulator.

Not

Öykünücü /Key seçeneğiyle başlattıysanız, sonra yerine oluşturulan anahtarı kullanın C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==.If you have started the emulator with the /Key option, then use the generated key instead of C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==. /Key seçenek hakkında daha fazla bilgi için bkz. komut satırı aracını referans.For more information about /Key option, see Command-line tool reference.

Olarak Azure Cosmos DB ile Azure Cosmos öykünücüsü'nü yalnızca SSL aracılığıyla güvenli iletişimi destekler.As with the Azure Cosmos DB, the Azure Cosmos Emulator supports only secure communication via SSL.

Yerel ağ üzerinde çalışmaRunning on a local network

Yerel bir ağ üzerinde öykünücüyü çalıştırabilirsiniz.You can run the emulator on a local network. Ağ erişimi etkinleştirmek üzere belirtin /AllowNetworkAccess adresindeki seçeneği komut satırı, gerektiren belirttiğiniz /Key=key_string veya /KeyFile=file_name.To enable network access, specify the /AllowNetworkAccess option at the command-line, which also requires that you specify /Key=key_string or /KeyFile=file_name. Kullanabileceğiniz /GenKeyFile=file_name önceden rastgele bir anahtar ile bir dosya oluşturabilirsiniz.You can use /GenKeyFile=file_name to generate a file with a random key upfront. Olarak geçirebilirsiniz sonra /KeyFile=file_name veya /Key=contents_of_file.Then you can pass that to /KeyFile=file_name or /Key=contents_of_file.

İlk kez ağ erişimi etkinleştirmek için kullanıcı öykünücüyü kapatın ve öykünücü'nın veri dizini (% LOCALAPPDATA%\CosmosDBEmulator) silin.To enable network access for the first time the user should shut down the emulator and delete the emulator’s data directory (%LOCALAPPDATA%\CosmosDBEmulator).

Öykünücü ile geliştirmeDeveloping with the emulator

SQL API’siSQL API

Azure Cosmos masaüstünüzde çalışan öykünücüsü'nü aldıktan sonra herhangi bir desteklenen kullanabilirsiniz Azure Cosmos DB SDK'sı veya Azure Cosmos DB REST API öykünücü ile etkileşim kurmak için.Once you have the Azure Cosmos Emulator running on your desktop, you can use any supported Azure Cosmos DB SDK or the Azure Cosmos DB REST API to interact with the emulator. Azure Cosmos öykünücüsü'nü kapsayıcıları SQL API veya Cosmos DB için Mongo DB API ve görünüm oluşturma ve herhangi bir kod yazmadan öğelerini düzenle olanak tanıyan yerleşik bir Veri Gezgini ayrıca içerir.The Azure Cosmos Emulator also includes a built-in Data Explorer that lets you create containers for SQL API or Cosmos DB for Mongo DB API, and view and edit items without writing any code.

// Connect to the Azure Cosmos Emulator running locally
DocumentClient client = new DocumentClient(
   new Uri("https://localhost:8081"), "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==");

MongoDB için Azure Cosmos DB API'siAzure Cosmos DB's API for MongoDB

Kullanıyorsanız Azure Cosmos DB'nin MongoDB API'si, aşağıdaki bağlantı dizesi kullanın:If you're using Azure Cosmos DB's API for MongoDB, use the following connection string:

mongodb://localhost:C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@localhost:10255/admin?ssl=true

Tablo API’siTable API

Azure Cosmos masaüstünüzde çalışan öykünücüsü'nü açtıktan sonra kullanabileceğiniz Azure Cosmos DB tablo API'si SDK'sı öykünücü ile etkileşim kurmak için.Once you have the Azure Cosmos Emulator running on your desktop, you can use the Azure Cosmos DB Table API SDK to interact with the emulator. Öykünücü ile bir yönetici olarak bir komut isteminden başlatmak "/ EnableTableEndpoint".Start emulator from command prompt as an administrator with “/EnableTableEndpoint”. Ardından tablo API'si hesabına bağlanmak için aşağıdaki kodu çalıştırın:Next run the following code to connect to the table API account:

using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Table;
using CloudTable = Microsoft.WindowsAzure.Storage.Table.CloudTable;
using CloudTableClient = Microsoft.WindowsAzure.Storage.Table.CloudTableClient;

string connectionString = "DefaultEndpointsProtocol=http;AccountName=localhost;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;TableEndpoint=http://localhost:8902/;";

CloudStorageAccount account = CloudStorageAccount.Parse(connectionString);
CloudTableClient tableClient = account.CreateCloudTableClient();
CloudTable table = tableClient.GetTableReference("testtable");
table.CreateIfNotExists();
table.Execute(TableOperation.Insert(new DynamicTableEntity("partitionKey", "rowKey")));

Cassandra API’siCassandra API

Öykünücü ile bir yönetici komut isteminden başlatmak "/ EnableCassandraEndpoint".Start emulator from an administrator command prompt with “/EnableCassandraEndpoint”. Alternatif olarak da ortam değişkeni ayarlayabilirsiniz AZURE_COSMOS_EMULATOR_CASSANDRA_ENDPOINT=true.Alternatively you can also set the environment variable AZURE_COSMOS_EMULATOR_CASSANDRA_ENDPOINT=true.

  • Python 2.7 yüklemeInstall Python 2.7

  • Cassandra CLI/CQLSH yükleyinInstall Cassandra CLI/CQLSH

  • Normal komut istemi penceresinde aşağıdaki komutları çalıştırın:Run the following commands in a regular command prompt window:

    set Path=c:\Python27;%Path%
    cd /d C:\sdk\apache-cassandra-3.11.3\bin
    set SSL_VERSION=TLSv1_2
    set SSL_VALIDATE=false
    cqlsh localhost 10350 -u localhost -p C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw== --ssl
    
  • CQLSH Kabuğu'nda Cassandra uç noktaya bağlanmak için aşağıdaki komutları çalıştırın:In the CQLSH shell, run the following commands to connect to the Cassandra endpoint:

    CREATE KEYSPACE MyKeySpace WITH replication = {'class':'MyClass', 'replication_factor': 1};
    DESCRIBE keyspaces;
    USE mykeyspace;
    CREATE table table1(my_id int PRIMARY KEY, my_name text, my_desc text);
    INSERT into table1 (my_id, my_name, my_desc) values( 1, 'name1', 'description 1');
    SELECT * from table1;
    EXIT
    

Gremlin APIGremlin API

Öykünücü ile bir yönetici komut isteminden başlatmak "/ EnableGremlinEndpoint".Start emulator from an administrator command prompt with “/EnableGremlinEndpoint”. Alternatif olarak da ortam değişkeni ayarlayabilirsiniz AZURE_COSMOS_EMULATOR_GREMLIN_ENDPOINT=trueAlternatively you can also set the environment variable AZURE_COSMOS_EMULATOR_GREMLIN_ENDPOINT=true

  • Apache-tinkerpop-gremlin-konsol-3.3.4 yükleyinInstall apache-tinkerpop-gremlin-console-3.3.4

  • Öykünücü'nın veri Gezgini'nde bir veritabanı "db1" ve "coll1"; bir koleksiyon oluşturma Bölüm anahtarı seçin "/ name"In the emulator’s Data Explorer create a database "db1" and a collection "coll1"; for the partition key, choose "/name"

  • Normal komut istemi penceresinde aşağıdaki komutları çalıştırın:Run the following commands in a regular command prompt window:

    cd /d C:\sdk\apache-tinkerpop-gremlin-console-3.3.4-bin\apache-tinkerpop-gremlin-console-3.3.4
    
    copy /y conf\remote.yaml conf\remote-localcompute.yaml
    notepad.exe conf\remote-localcompute.yaml
      hosts: [localhost]
      port: 8901
      username: /dbs/db1/colls/coll1
      password: C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
      connectionPool: {
      enableSsl: false}
      serializer: { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0,
      config: { serializeResultToString: true  }}
    
    bin\gremlin.bat
    
  • Gremlin Kabuğu'nda Gremlin uç noktaya bağlanmak için aşağıdaki komutları çalıştırın:In the Gremlin shell run the following commands to connect to the Gremlin endpoint:

    :remote connect tinkerpop.server conf/remote-localcompute.yaml
    :remote console
    :> g.V()
    :> g.addV('person1').property(id, '1').property('name', 'somename1')
    :> g.addV('person2').property(id, '2').property('name', 'somename2')
    :> g.V()
    

SSL sertifikasını dışarı aktarmaExport the SSL certificate

.NET dilleri ve çalışma zamanı, Azure Cosmos DB yerel öykünücüsüne güvenli şekilde bağlanmak için Windows Sertifika Deposunu kullanır..NET languages and runtime use the Windows Certificate Store to securely connect to the Azure Cosmos DB local emulator. Diğer dillerin kendi sertifikaları yönetme ve kullanma yöntemi vardır.Other languages have their own method of managing and using certificates. Java kendi sertifika deposunu kullanırken Python ise yuva sarmalayıcılarını kullanır.Java uses its own certificate store whereas Python uses socket wrappers.

Windows Sertifika Deposu ile tümleştirilmeyen çalışma zamanları ve dillerle kullanmak üzere bir sertifika edinmek için Windows Sertifika Yöneticisi’ni kullanarak bunu dışarı aktarmanız gerekir.In order to obtain a certificate to use with languages and runtimes that do not integrate with the Windows Certificate Store, you will need to export it using the Windows Certificate Manager. Başlatın certlm.msc çalıştırarak ya da adım adım yönergeleri Azure Cosmos öykünücü sertifikalarını dışarı aktarma.You can start it by running certlm.msc or follow the step by step instructions in Export the Azure Cosmos Emulator Certificates. Sertifika yöneticisi çalıştırıldıktan sonra aşağıda gösterildiği gibi Kişisel Sertifikaları açın ve sertifikayı BASE-64 kodlu X.509 (.cer) dosyası olarak "DocumentDBEmulatorCertificate" kolay adıyla dışarı aktarın.Once the certificate manager is running, open the Personal Certificates as shown below and export the certificate with the friendly name "DocumentDBEmulatorCertificate" as a BASE-64 encoded X.509 (.cer) file.

Azure Cosmos DB yerel öykünücüsü SSL sertifikası

X.509 sertifikası, Java CA Sertifika Deposuna Sertifika Ekleme bölümündeki yönergeler izlenerek Java sertifika deposuna içeri aktarılabilir.The X.509 certificate can be imported into the Java certificate store by following the instructions in Adding a Certificate to the Java CA Certificates Store. Sertifikayı sertifika deposuna içeri aktarıldıktan sonra istemcileri SQL ve Azure Cosmos DB'nin MongoDB API'si için Azure Cosmos öykünücüsüne Bağlan mümkün olacaktır.Once the certificate is imported into the certificate store, clients for SQL and Azure Cosmos DB's API for MongoDB will be able to connect to the Azure Cosmos Emulator.

Python ve Node.js SDK’larından öykünücüye bağlanırken SSL doğrulaması devre dışı bırakılır.When connecting to the emulator from Python and Node.js SDKs, SSL verification is disabled.

Komut satırı aracı başvurusuCommand-line tool reference

Yükleme konumundan komut satırında başlatmak ve öykünücüsü'nü durdurun, seçenekleri yapılandırın ve diğer işlemleri gerçekleştirmek için kullanabilirsiniz.From the installation location, you can use the command-line to start and stop the emulator, configure options, and perform other operations.

Komut satırı sözdizimiCommand-line syntax

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

Seçenek listesini görüntülemek için komut satırına CosmosDB.Emulator.exe /? yazın.To view the list of options, type CosmosDB.Emulator.exe /? at the command prompt.

SeçeneğiOption AçıklamaDescription KomutuCommand Bağımsız DeğişkenlerArguments
[Bağımsız değişken yok][No arguments] Azure Cosmos öykünücüsü varsayılan ayarlarla kurmak başlatır.Starts up the Azure Cosmos Emulator with default settings. CosmosDB.Emulator.exeCosmosDB.Emulator.exe
[Yardım][Help] Desteklenen komut satırı bağımsız değişkenleri listesini görüntüler.Displays the list of supported command-line arguments. CosmosDB.Emulator.exe /?CosmosDB.Emulator.exe /?
GetStatusGetStatus Azure Cosmos öykünücüsü'nü durumunu alır.Gets the status of the Azure Cosmos Emulator. Durum, çıkış kodu tarafından belirtilir: 1 = başlangıç, 2 çalışan, 3 = = durduruldu.The status is indicated by the exit code: 1 = Starting, 2 = Running, 3 = Stopped. Negatif çıkış kodu, bir hata oluştuğunu gösterir.A negative exit code indicates that an error occurred. Başka bir çıktı üretilmez.No other output is produced. CosmosDB.Emulator.exe /GetStatusCosmosDB.Emulator.exe /GetStatus
KapatShutdown Azure Cosmos öykünücüsü'nü kapatır.Shuts down the Azure Cosmos Emulator. CosmosDB.Emulator.exe /ShutdownCosmosDB.Emulator.exe /Shutdown
DataPathDataPath Veri dosyalarının depolanacağı yolu belirtir.Specifies the path in which to store data files. % LocalAppdata%\CosmosDBEmulator varsayılan değerdir.Default value is %LocalAppdata%\CosmosDBEmulator. CosmosDB.Emulator.exe /DataPath=<datapath>CosmosDB.Emulator.exe /DataPath=<datapath> <DataPath>: Erişilebilir bir yol<datapath>: An accessible path
PortPort Öykünücü için kullanılacak bağlantı noktası numarasını belirtir.Specifies the port number to use for the emulator. Varsayılan değer 8081'dir.Default value is 8081. CosmosDB.Emulator.exe /Port=<port>CosmosDB.Emulator.exe /Port=<port> <Bağlantı noktası>: Tek bir bağlantı noktası numarası<port>: Single port number
ComputePortComputePort Belirtilen işlem Interop ağ geçidi hizmeti için kullanılacak bağlantı noktası numarası.Specified the port number to use for the Compute Interop Gateway service. Ağ geçidinin HTTP uç noktası araştırma bağlantı noktası ComputePort + 79 olarak hesaplanır.The Gateway's HTTP endpoint probe port is calculated as ComputePort + 79. Bu nedenle, ComputePort ve ComputePort + 79 açık ve kullanılabilir olması gerekir.Hence, ComputePort and ComputePort + 79 must be open and available. 8900, varsayılan değerler 8979.The default values are 8900, 8979. CosmosDB.Emulator.exe /ComputePort = <computeport>CosmosDB.Emulator.exe /ComputePort = <computeport> <computeport>: Tek bir bağlantı noktası numarası<computeport>: Single port number
EnableMongoDbEndpointEnableMongoDbEndpoint MongoDB API'si sağlar.Enables MongoDB API CosmosDB.Emulator.exe /EnableMongoDbEndpointCosmosDB.Emulator.exe /EnableMongoDbEndpoint
MongoPortMongoPort MongoDB uyumluluk API’si için kullanılacak bağlantı noktası numarasını belirtir.Specifies the port number to use for MongoDB compatibility API. 10255 olarak varsayılan değerdir.Default value is 10255. CosmosDB.Emulator.exe /MongoPort = <mongoport>CosmosDB.Emulator.exe /MongoPort= <mongoport> <mongoport>: Tek bir bağlantı noktası numarası<mongoport>: Single port number
EnableCassandraEndpointEnableCassandraEndpoint Cassandra API sağlar.Enables Cassandra API CosmosDB.Emulator.exe /EnableCassandraEndpointCosmosDB.Emulator.exe /EnableCassandraEndpoint
CassandraPortCassandraPort Cassandra uç noktası için kullanılacak bağlantı noktası numarasını belirtir.Specifies the port number to use for the Cassandra endpoint. 10350 varsayılan değerdir.Default value is 10350. CosmosDB.Emulator.exe /CassandraPort = <cassandraport>CosmosDB.Emulator.exe /CassandraPort = <cassandraport> <cassandraport>: Tek bir bağlantı noktası numarası<cassandraport>: Single port number
EnableGremlinEndpointEnableGremlinEndpoint Gremlin API sağlar.Enables Gremlin API CosmosDB.Emulator.exe /EnableGremlinEndpointCosmosDB.Emulator.exe /EnableGremlinEndpoint
GremlinPortGremlinPort Gremlin uç noktası için kullanılacak bağlantı noktası numarası.Port number to use for the Gremlin Endpoint. 8901 varsayılan değerdir.Default value is 8901. CosmosDB.Emulator.exe /GremlinPort=<port>CosmosDB.Emulator.exe /GremlinPort=<port> <Bağlantı noktası>: Tek bir bağlantı noktası numarası<port>: Single port number
EnableTableEndpointEnableTableEndpoint Azure tablo API'si sağlar.Enables Azure Table API CosmosDB.Emulator.exe /EnableTableEndpointCosmosDB.Emulator.exe /EnableTableEndpoint
TablePortTablePort Azure tablosu uç noktası için kullanılacak bağlantı noktası numarası.Port number to use for the Azure Table Endpoint. 8902 varsayılan değerdir.Default value is 8902. CosmosDB.Emulator.exe /TablePort =<bağlantı noktası>CosmosDB.Emulator.exe /TablePort=<port> <Bağlantı noktası>: Tek bir bağlantı noktası numarası<port>: Single port number
KeyFileKeyFile Yetkilendirme anahtarı belirtilen dosyadan okuma.Read authorization key from the specified file. Bir keyfile oluşturmak için /GenKeyFile seçeneğini kullanınUse the /GenKeyFile option to generate a keyfile CosmosDB.Emulator.exe/keyfile =<file_name>CosmosDB.Emulator.exe /KeyFile=<file_name> <file_name>: Dosyasının yolu<file_name>: Path to the file
ResetDataPathResetDataPath Yinelemeli olarak tüm dosyaları belirtilen yolda kaldırır.Recursively removes all the files in the specified path. Bir yol belirtmezseniz, %LOCALAPPDATA%\CosmosDbEmulator için varsayılan olarakIf you don't specify a path, it defaults to %LOCALAPPDATA%\CosmosDbEmulator CosmosDB.Emulator.exe /ResetDataPath[=<path>]CosmosDB.Emulator.exe /ResetDataPath[=<path>] <Yol>: Dosya yolu<path>: File path
StartTracesStartTraces Hata ayıklama izleme günlüklerini toplama başlatma.Start collecting debug trace logs. CosmosDB.Emulator.exe /StartTracesCosmosDB.Emulator.exe /StartTraces
StopTracesStopTraces Hata ayıklama izleme günlükleri toplamayı durdurun.Stop collecting debug trace logs. CosmosDB.Emulator.exe /StopTracesCosmosDB.Emulator.exe /StopTraces
FailOnSslCertificateNameMismatchFailOnSslCertificateNameMismatch Sertifikanın SAN öykünücü ana bilgisayarın etki alanı adı, yerel IPv4 adresi, 'localhost' ve '127.0.0.1' içermiyorsa varsayılan olarak öykünücü otomatik olarak imzalanan SSL sertifikasını yeniden oluşturur.By default the Emulator regenerates its self-signed SSL certificate, if the certificate's SAN does not include the Emulator host's domain name, local IPv4 address, 'localhost', and '127.0.0.1'. Bu seçenekle, öykünücü için bunun yerine başlangıçta başarısız olur.With this option, the emulator will fail at startup instead. Ardından, oluşturmak ve yeni bir otomatik olarak imzalanan SSL sertifikası yüklemek için /GenCert seçeneği kullanmanız gerekir.You should then use the /GenCert option to create and install a new self-signed SSL certificate. CosmosDB.Emulator.exe /FailOnSslCertificateNameMismatchCosmosDB.Emulator.exe /FailOnSslCertificateNameMismatch
GenCertGenCert Oluştur ve yeni bir otomatik olarak imzalanan SSL sertifikası yükleyin.Generate and install a new self-signed SSL certificate. İsteğe bağlı olarak ağ üzerinden öykünücü erişmek için ek DNS adlarını virgülle ayrılmış bir listesi dahil.optionally including a comma-separated list of additional DNS names for accessing the Emulator over the network. CosmosDB.Emulator.exe /GenCert [ <ek dns adlarını virgülle ayrılmış listesi>]CosmosDB.Emulator.exe /GenCert[ <comma-separated list of additional dns-names>]
DirectPortsDirectPorts Doğrudan bağlantı için kullanılacak bağlantı noktalarını belirtir.Specifies the ports to use for direct connectivity. Varsayılan değerler: 10251,10252,10253,10254.Defaults are 10251,10252,10253,10254. CosmosDB.Emulator.exe /DirectPorts:<directports>CosmosDB.Emulator.exe /DirectPorts:<directports> <directports>: 4 bağlantı noktalarının virgülle ayrılmış listesi<directports>: Comma-delimited list of 4 ports
AnahtarKey Öykünücü için yetkilendirme anahtarı.Authorization key for the emulator. Anahtar, 64 bayt vektörün base 64 kodlaması olmalıdır.Key must be the base-64 encoding of a 64-byte vector. CosmosDB.Emulator.exe /Key:<key>CosmosDB.Emulator.exe /Key:<key> <Anahtar>: Anahtarı bir 64-bayt vektörü base-64 kodlama olmalıdır<key>: Key must be the base-64 encoding of a 64-byte vector
EnableRateLimitingEnableRateLimiting İstek oranını sınırlama davranışının etkinleştirildiğini belirtir.Specifies that request rate limiting behavior is enabled. CosmosDB.Emulator.exe /EnableRateLimitingCosmosDB.Emulator.exe /EnableRateLimiting
DisableRateLimitingDisableRateLimiting İstek oranını sınırlama davranışının devre dışı bırakıldığını belirtir.Specifies that request rate limiting behavior is disabled. CosmosDB.Emulator.exe /DisableRateLimitingCosmosDB.Emulator.exe /DisableRateLimiting
NoUINoUI Öykünücü kullanıcı arabirimini gösterme.Do not show the emulator user interface. CosmosDB.Emulator.exe /NoUICosmosDB.Emulator.exe /NoUI
NoExplorerNoExplorer Başlangıçta veri gezginini gösterme.Don't show data explorer on startup. CosmosDB.Emulator.exe /NoExplorerCosmosDB.Emulator.exe /NoExplorer
PartitionCountPartitionCount Bölümlenmiş kapsayıcıları maksimum sayısını belirtir.Specifies the maximum number of partitioned containers. Bkz: kapsayıcıları sayısını değiştirme daha fazla bilgi için.See Change the number of containers for more information. CosmosDB.Emulator.exe /PartitionCount=<partitioncount>CosmosDB.Emulator.exe /PartitionCount=<partitioncount> <bölüm sayısı>: İzin verilen tek bölüm kapsayıcı sayısı.<partitioncount>: Maximum number of allowed single partition containers. Varsayılan değer 25’tir.Default value is 25. Maksimum izin verilen: 250.Maximum allowed is 250.
DefaultPartitionCountDefaultPartitionCount Bölümler bir bölünmüş kapsayıcı için varsayılan sayısını belirtir.Specifies the default number of partitions for a partitioned container. CosmosDB.Emulator.exe /DefaultPartitionCount=<defaultpartitioncount>CosmosDB.Emulator.exe /DefaultPartitionCount=<defaultpartitioncount> <defaultpartitioncount> varsayılan değer 25'dir.<defaultpartitioncount> Default value is 25.
AllowNetworkAccessAllowNetworkAccess Bir ağ üzerinden öykünücüye erişilmesini sağlar.Enables access to the emulator over a network. Ağ erişimini etkinleştirmek için /Key=<key_string> veya /KeyFile=<file_name> öğesini de geçirmeniz gerekir.You must also pass /Key=<key_string> or /KeyFile=<file_name> to enable network access. CosmosDB.Emulator.exe AllowNetworkAccess /Key =<key_string> veya CosmosDB.Emulator.exe /AllowNetworkAccess/keyfile =<file_name>CosmosDB.Emulator.exe /AllowNetworkAccess /Key=<key_string> or CosmosDB.Emulator.exe /AllowNetworkAccess /KeyFile=<file_name>
NoFirewallNoFirewall Güvenlik duvarı kuralları /AllowNetworkAccess seçeneği kullanıldığında ayarlamayın.Don't adjust firewall rules when /AllowNetworkAccess option is used. CosmosDB.Emulator.exe /NoFirewallCosmosDB.Emulator.exe /NoFirewall
GenKeyFileGenKeyFile Yeni bir yetkilendirme anahtarı oluşturun ve belirtilen dosyaya kaydedin.Generate a new authorization key and save to the specified file. Oluşturulan anahtar, /Key veya /KeyFile seçenekleri ile kullanılabilir.The generated key can be used with the /Key or /KeyFile options. CosmosDB.Emulator.exe /GenKeyFile =<anahtar dosyasının yolu>CosmosDB.Emulator.exe /GenKeyFile=<path to key file>
TutarlılıkConsistency Hesap için varsayılan tutarlılık düzeyini ayarlayın.Set the default consistency level for the account. CosmosDB.Emulator.exe /Consistency=<consistency>CosmosDB.Emulator.exe /Consistency=<consistency> <Tutarlılık>: Değer şunlardan biri olmalıdır tutarlılık düzeyleri: Oturum, güçlü ve nihai, veya BoundedStaleness.<consistency>: Value must be one of the following consistency levels: Session, Strong, Eventual, or BoundedStaleness. Varsayılan değer: Oturum.The default value is Session.
?? Yardım iletisini gösterin.Show the help message.

Kapsayıcıları sayısını değiştirinChange the number of containers

Varsayılan olarak, en fazla 25 sabit boyutlu kapsayıcıların (yalnızca Azure Cosmos DB SDK'larını kullanarak desteklenir) veya Azure Cosmos öykünücüsü'nü 5 sınırsız kapsayıcılar oluşturabilirsiniz.By default, you can create up to 25 fixed size containers (only supported using Azure Cosmos DB SDKs), or 5 unlimited containers using the Azure Cosmos Emulator. Değiştirerek bölüm sayısı değer, en fazla 250 sabit boyutlu kapsayıcıların veya 50 sınırsız kapsayıcılar veya herhangi bir birleşimini 250 sabit boyutlu kapsayıcıların aşmayan iki oluşturabilirsiniz (burada bir sınırsız kapsayıcı = 5 sabit boyutu kapsayıcılar için).By modifying the PartitionCount value, you can create up to 250 fixed size containers or 50 unlimited containers, or any combination of the two that does not exceed 250 fixed size containers (where one unlimited container = 5 fixed size containers). Ancak, öykünücünün kurulumunu ile 200'den fazla sabit boyutlu kapsayıcıları çalıştırmak için önerilmez.However it's not recommended to set up the emulator to run with more than 200 fixed size containers. Disk g/ç işlemleri için ekler ek yükü nedeniyle, hangi API uç noktası kullanırken öngörülemeyen zaman aşımlarına neden.Because of the overhead that it adds to the disk IO operations, which result in unpredictable timeouts when using the endpoint APIs.

Geçerli bölüm sayısı aşıldıktan sonra bir kapsayıcı oluşturma girişimi, öykünücü şu iletiyle ServiceUnavailable bir özel durum oluşturur.If you attempt to create a container after the current partition count has been exceeded, the emulator throws a ServiceUnavailable exception, with the following message.

"Ne yazık ki şu anda bu bölgede yüksek talep yaşayan olan ve isteğiniz şu anda yerine getiremiyor."Sorry, we are currently experiencing high demand in this region, and cannot fulfill your request at this time. Size daha fazla kapasite ve daha fazla çevrimiçi duruma getirmek için sürekli olarak çalışır ve yeniden denemeniz önerilir.We work continuously to bring more and more capacity online, and encourage you to try again. Lütfen e-posta çekinmeyin askcosmosdb@microsoft.com herhangi bir zamanda veya herhangi bir nedenle.Please do not hesitate to email askcosmosdb@microsoft.com at any time or for any reason. Etkinlik Kimliği: 12345678-1234-1234-1234-123456789abc"ActivityId: 12345678-1234-1234-1234-123456789abc"

Azure Cosmos öykünücüsü'nde kullanılabilir kapsayıcı sayısını değiştirmek için aşağıdaki adımları çalıştırın:To change the number of containers available in the Azure Cosmos Emulator, run the following steps:

  1. Sağ tıklayarak tüm yerel Azure Cosmos öykünücüsü'nü verileri silmesi Azure Cosmos DB öykünücüsü'nü sistem tepsisi tıklatıp, ardından simgesine veri Sıfırla... .Delete all local Azure Cosmos Emulator data by right-clicking the Azure Cosmos DB Emulator icon on the system tray, and then clicking Reset Data….
  2. Bu klasördeki tüm öykünücüsü verilerini Sil %LOCALAPPDATA%\CosmosDBEmulator.Delete all emulator data in this folder %LOCALAPPDATA%\CosmosDBEmulator.
  3. Sistem tepsisindeki Azure Cosmos DB Öykünücüsü simgesine sağ tıklayıp Çıkış’a tıklayarak tüm açık örneklerden çıkın.Exit all open instances by right-clicking the Azure Cosmos DB Emulator icon on the system tray, and then clicking Exit. Tüm örneklerin çıkması bir dakika sürebilir.It may take a minute for all instances to exit.
  4. En son sürümünü yükleyin Azure Cosmos öykünücüsü.Install the latest version of the Azure Cosmos Emulator.
  5. 250 veya daha düşük bir değer ayarlayarak PartitionCount bayrağı ile öykünücüyü başlatın.Launch the emulator with the PartitionCount flag by setting a value <= 250. Örneğin: C:\Program Files\Azure Cosmos DB Emulator> CosmosDB.Emulator.exe /PartitionCount=100For example: C:\Program Files\Azure Cosmos DB Emulator> CosmosDB.Emulator.exe /PartitionCount=100.

Öykünücüyü denetlemeControlling the emulator

Öykünücü başlatma, durdurma, kaldırma ve hizmet durumunu almak için bir PowerShell modülü ile birlikte gelir.The emulator comes with a PowerShell module to start, stop, uninstall, and retrieve the status of the service. PowerShell modülü kullanmak için aşağıdaki cmdlet'i çalıştırın:Run the following cmdlet to use the PowerShell module:

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

yerleştirin PSModules dizininde, PSModulesPath ve aşağıdaki komutta gösterildiği gibi içeri aktarın:or place the PSModules directory on your PSModulesPath and import it as shown in the following command:

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

Aşağıda, PowerShell’den öykünücüyü denetlemeye ilişkin komutların özeti verilmiştir:Here is a summary of the commands for controlling the emulator from PowerShell:

Get-CosmosDbEmulatorStatus

Söz dizimiSyntax

Get-CosmosDbEmulatorStatus

AçıklamalarRemarks

Bu ServiceControllerStatus değerlerden birini döndürür: ServiceControllerStatus.StartPending, ServiceControllerStatus.Running veya ServiceControllerStatus.Stopped.Returns one of these ServiceControllerStatus values: ServiceControllerStatus.StartPending, ServiceControllerStatus.Running, or ServiceControllerStatus.Stopped.

Start-CosmosDbEmulator

Söz dizimiSyntax

Start-CosmosDbEmulator [-DataPath <string>] [-DefaultPartitionCount <uint16>] [-DirectPort <uint16[]>] [-MongoPort <uint16>] [-NoUI] [-NoWait] [-PartitionCount <uint16>] [-Port <uint16>] [<CommonParameters>]

AçıklamalarRemarks

Öykünücüyü başlatır.Starts the emulator. Varsayılan olarak komut, öykünücünün istekleri kabul etmeye hazır olmasını bekler.By default, the command waits until the emulator is ready to accept requests. Cmdlet’in öykünücüyü başlattığı anda geri dönmesini istiyorsanız -NoWait seçeneğini kullanın.Use the -NoWait option, if you wish the cmdlet to return as soon as it starts the emulator.

Stop-CosmosDbEmulator

Söz dizimiSyntax

Stop-CosmosDbEmulator [-NoWait]

AçıklamalarRemarks

Öykünücüyü durdurur.Stops the emulator. Varsayılan olarak bu komut, öykünücünün tamamen kapanmasını bekler.By default, this command waits until the emulator is fully shut down. Cmdlet’in öykünücü kapanmaya başladığı anda geri dönmesini istiyorsanız -NoWait seçeneğini kullanın.Use the -NoWait option, if you wish the cmdlet to return as soon as the emulator begins to shut down.

Uninstall-CosmosDbEmulator

Söz dizimiSyntax

Uninstall-CosmosDbEmulator [-RemoveData]

AçıklamalarRemarks

Öykünücüyü kaldırır ve isteğe bağlı olarak $env:LOCALAPPDATA\CosmosDbEmulator içeriklerinin tamamını kaldırır.Uninstalls the emulator and optionally removes the full contents of $env:LOCALAPPDATA\CosmosDbEmulator. Cmdlet, öykünücüyü kaldırmadan önce öykünücünün tamamen durdurulduğundan emin olur.The cmdlet ensures the emulator is stopped before uninstalling it.

Docker’da çalıştırmaRunning on Docker

Azure Cosmos öykünücüsü için Docker Windows üzerinde çalıştırılabilir.The Azure Cosmos Emulator can be run on Docker for Windows. Öykünücü Docker for Oracle Linux üzerinde çalışmaz.The emulator does not work on Docker for Oracle Linux.

Docker for Windows yüklendikten sonra, araç çubuğundaki Docker simgesine sağ tıklayıp Windows kapsayıcılarına geç seçeneğini belirleyerek Windows kapsayıcılarına geçin.Once you have Docker for Windows installed, switch to Windows containers by right-clicking the Docker icon on the toolbar and selecting Switch to Windows containers.

Daha sonra sık kullandığınız kabuktan aşağıdaki komutu çalıştırarak Docker Hub'dan Öykünücü görüntüsünü çekin.Next, pull the emulator image from Docker Hub by running the following command from your favorite shell.

docker pull microsoft/azure-cosmosdb-emulator

Görüntüyü başlatmak için aşağıdaki komutları çalıştırın.To start the image, run the following commands.

Komut satırından:From the command-line:


md %LOCALAPPDATA%\CosmosDBEmulator\bind-mount

docker run --name azure-cosmosdb-emulator --memory 2GB --mount "type=bind,source=%LOCALAPPDATA%\CosmosDBEmulator\bind-mount,destination=C:\CosmosDB.Emulator\bind-mount" --interactive --tty -p 8081:8081 -p 8900:8900 -p 8901:8901 -p 8902:8902 -p 10250:10250 -p 10251:10251 -p 10252:10252 -p 10253:10253 -p 10254:10254 -p 10255:10255 -p 10256:10256 -p 10350:10350 microsoft/azure-cosmosdb-emulator

PowerShell’den:From PowerShell:


md $env:LOCALAPPDATA\CosmosDBEmulator\bind-mount 2>null

docker run --name azure-cosmosdb-emulator --memory 2GB --mount "type=bind,source=$env:LOCALAPPDATA\CosmosDBEmulator\bind-mount,destination=C:\CosmosDB.Emulator\bind-mount" --interactive --tty -p 8081:8081 -p 8900:8900 -p 8901:8901 -p 8902:8902 -p 10250:10250 -p 10251:10251 -p 10252:10252 -p 10253:10253 -p 10254:10254 -p 10255:10255 -p 10256:10256 -p 10350:10350 microsoft/azure-cosmosdb-emulator

Yanıt şuna benzer:The response looks similar to the following:

Starting emulator
Emulator Endpoint: https://172.20.229.193:8081/
Master Key: C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
Exporting SSL Certificate
You can import the SSL certificate from an administrator command prompt on the host by running:
cd /d %LOCALAPPDATA%\CosmosDBEmulatorCert
powershell .\importcert.ps1
--------------------------------------------------------------------------------------------------
Starting interactive shell

Şimdi istemcinizdeki yanıttan uç noktayı ve ana anahtar girişini kullanın ve SSL sertifikasını ana bilgisayarınıza içeri aktarın.Now use the endpoint and master key-in from the response in your client and import the SSL certificate into your host. SSL sertifikasını içeri aktarmak için, yönetici komut isteminden aşağıdakileri yapın:To import the SSL certificate, do the following from an admin command prompt:

Komut satırından:From the command-line:

cd  %LOCALAPPDATA%\CosmosDBEmulator\bind-mount
powershell .\importcert.ps1

PowerShell’den:From PowerShell:

cd $env:LOCALAPPDATA\CosmosDBEmulator\bind-mount
.\importcert.ps1

Öykünücü başlatıldıktan sonra etkileşimli kabuğu kapatmak öykünücünün kapsayıcısını kapatır.Closing the interactive shell once the emulator has been started will shut down the emulator’s container.

Veri Gezgini’ni açmak için tarayıcınızda aşağıdaki URL’ye gidin.To open the Data Explorer, navigate to the following URL in your browser. Yukarıda gösterilen yanıt iletisinde öykünücü uç noktası sağlanır.The emulator endpoint is provided in the response message shown above.

https://<emulator endpoint provided in response>/_explorer/index.html

Mac veya Linux üzerinde çalışıyorRunning on Mac or Linux

Şu anda Cosmos öykünücüsü'nü yalnızca Windows üzerinde çalıştırılabilir.Currently the Cosmos emulator can only be run on Windows. Öykünücü, Mac veya Linux çalıştıran bir Windows sanal makine çalıştırabilirsiniz kullanıcılar Parallels veya VirtualBox gibi bir hiper yönetici barındırılan.Users running Mac or Linux can run the emulator in a Windows virtual machine hosted a hypervisor such as Parallels or VirtualBox. Bu etkinleştirme adımları aşağıda verilmiştir.Below are the steps to enable this.

Windows VM içinde aşağıdaki komutu çalıştırın ve IPv4 adresini not edin.Within the Windows VM run the command below and make note of the IPv4 address.

ipconfig.exe

Uygulamanız DocumentClient nesnesinin URI tarafından döndürülen IPv4 adresini kullanmak için değiştirmeniz gerekir. ipconfig.exe.Within your application you need to change the URI for the DocumentClient object to use the IPv4 address returned by ipconfig.exe. Sonraki adım CA doğrulama DocumentClient nesneyi diziden oluşturulurken çalışmaktır.The next step is to work around the CA validation when constructing the DocumentClient object. Bunun için DocumentClient oluşturucusuna bir HttpClientHandler sağlamak için ihtiyacınız olacak hangi ServerCertificateCustomValidationCallback için kendi uygulamasına sahip değil.For this you will need to provide an HttpClientHandler to the DocumentClient constructor, which has it's own implementation for ServerCertificateCustomValidationCallback.

Kod aşağıdaki gibi görünmelidir örneği aşağıdadır.Below is an example of what the code should look like.

using System;
using Microsoft.Azure.Documents;
using Microsoft.Azure.Documents.Client;
using System.Net.Http;

namespace emulator
{
    class Program
    {
        static async void Main(string[] args)
        {
            string strEndpoint = "https://10.135.16.197:8081/";  //IPv4 address from ipconfig.exe
            string strKey = "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==";

            //Work around the CA validation
            var httpHandler = new HttpClientHandler()
            {
                ServerCertificateCustomValidationCallback = (req,cert,chain,errors) => true
            };

            //Pass http handler to document client
            using (DocumentClient client = new DocumentClient(new Uri(strEndpoint), strKey, httpHandler))
            {
                Database database = await client.CreateDatabaseIfNotExistsAsync(new Database { Id = "myDatabase" });
                Console.WriteLine($"Created Database: id - {database.Id} and selfLink - {database.SelfLink}");
            }
        }
    }
}

Son olarak, gelen Windows VM içinde aşağıdaki seçenekleri kullanarak komut satırından Cosmos öykünücüyü başlatın.Finally, from the within the Windows VM, launch the Cosmos emulator from the command line using the following options.

Microsoft.Azure.Cosmos.Emulator.exe /AllowNetworkAccess /Key=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==

Sorun gidermeTroubleshooting

Azure Cosmos öykünücü ile karşılaştığınız sorunları gidermenize yardımcı olması için aşağıdaki ipuçlarını kullanın:Use the following tips to help troubleshoot issues you encounter with the Azure Cosmos Emulator:

  • Öykünücünün yeni bir sürümünü yüklediyseniz ve hatalarla karşılaşıyorsanız, verilerinizi sıfırladığınızdan emin olun.If you installed a new version of the emulator and are experiencing errors, ensure you reset your data. Verilerinizi Azure Cosmos öykünücüsü sistem tepsisindeki simgeye sağ tıklayarak ve sıfırlama veri ardından sıfırlayabilirsiniz...You can reset your data by right-clicking the Azure Cosmos Emulator icon on the system tray, and then clicking Reset Data…. Hataları çözmezse öykünücü ve öykünücü eski sürümlerini, kaldırabilirsiniz bulundu, "C:\Program files\Azure Cosmos DB öykünücüsü'nü" dizinini kaldırın ve öykünücü yeniden yükleyin.If that does not fix the errors, you can uninstall the emulator and any older versions of the emulator if found, remove "C:\Program files\Azure Cosmos DB Emulator" directory and reinstall the emulator. Yönergeler için bkz. Yerel öykünücüden kaldırma.See Uninstall the local emulator for instructions.

  • Azure Cosmos öykünücüsü'nü çökerse, '% LOCALAPPDATA%\CrashDumps' klasöründen döküm dosyalarını toplayın, sıkıştırmak ve e-posta ekleme askcosmosdb@microsoft.com .If the Azure Cosmos Emulator crashes, collect dump files from '%LOCALAPPDATA%\CrashDumps' folder, compress them, and attach them to an email to askcosmosdb@microsoft.com.

  • Kilitlenme karşılaşırsanız, Microsoft.Azure.Cosmos.ComputeServiceStartupEntryPoint.exe, bu performans sayaçlarını bozuk durumda olduğu bir belirti olabilir.If you experience crashes in Microsoft.Azure.Cosmos.ComputeServiceStartupEntryPoint.exe, this might be a symptom where the Performance Counters are in a corrupted state. Genellikle bir yönetici komut isteminden aşağıdaki komutu çalıştırarak sorunu giderir:Usually running the following command from an admin command prompt fixes the issue:

    lodctr /R
    
  • Bir bağlantı sorunu yaşarsanız izleme dosyalarını toplayın, sıkıştırın ve bir e-postaya ekleyip askcosmosdb@microsoft.com adresine gönderin.If you encounter a connectivity issue, collect trace files, compress them, and attach them to an email to askcosmosdb@microsoft.com.

  • Hizmet Kullanılamıyor iletisi alırsanız öykünücü, ağ yığınını başlatamıyor olabilir.If you receive a Service Unavailable message, the emulator might be failing to initialize the network stack. Pulse secure istemcisinin veya Juniper networks istemcisinin yüklü olup olmadığını denetleyin; bunların ağ filtresi sürücüleri soruna yol açıyor olabilir.Check to see if you have the Pulse secure client or Juniper networks client installed, as their network filter drivers may cause the problem. Genellikle üçüncü taraf ağ filtresi sürücüleri kaldırıldığında sorun düzeltilir.Uninstalling third-party network filter drivers typically fixes the issue. Alternatif olarak, hangi öykünücü ağ iletişimi için normal Winsock geçecektir /DisableRIO ile öykünücüyü başlatın.Alternatively, start the emulator with /DisableRIO, which will switch the emulator network communication to regular Winsock.

  • Öykünücü çalışırken bilgisayarınız uyku moduna geçer veya herhangi bir işletim sistemi güncelleştirmesi çalıştırırsa, bir Service is currently unavailable (Hizmet şu anda kullanılamıyor) iletisi alabilirsiniz.While the emulator is running, if your computer goes to sleep mode or runs any OS updates, you might see a Service is currently unavailable message. Öykünücü'nın verileri seçin ve windows bildirim Tepsisi üzerinde görüntülenen simgeyi sağ tıklayarak sıfırlama sıfırlama veri.Reset the emulator's data, by right-clicking on the icon that appears on the windows notification tray and select Reset Data.

İzleme dosyalarını toplamaCollect trace files

Hata ayıklama izlemelerini toplamak için bir yönetici komut isteminden aşağıdaki komutları çalıştırın:To collect debugging traces, run the following commands from an administrative command prompt:

  1. cd /d "%ProgramFiles%\Azure Cosmos DB Emulator"
  2. CosmosDB.Emulator.exe /shutdown.CosmosDB.Emulator.exe /shutdown. Programın kapatıldığından emin olmak için sistem tepsisine bakın; bu bir dakika sürebilir.Watch the system tray to make sure the program has shut down, it may take a minute. Ayrıca yalnızca tıklatabilirsiniz çıkış Azure Cosmos öykünücüsü kullanıcı arabiriminde.You can also just click Exit in the Azure Cosmos Emulator user interface.
  3. CosmosDB.Emulator.exe /starttraces
  4. CosmosDB.Emulator.exe
  5. Sorunu yeniden oluşturun.Reproduce the problem. Veri Gezgini çalışmıyorsa yalnızca hatayı yakalamak için tarayıcının birkaç saniye boyunca açılmasını beklemeniz gerekir.If Data Explorer is not working, you only need to wait for the browser to open for a few seconds to catch the error.
  6. CosmosDB.Emulator.exe /stoptraces
  7. %ProgramFiles%\Azure Cosmos DB Emulator konumuna gidin ve docdbemulator_000001.etl dosyasını bulun.Navigate to %ProgramFiles%\Azure Cosmos DB Emulator and find the docdbemulator_000001.etl file.
  8. Hata ayıklama için .etl dosyasını yeniden üretme adımlarıyla birlikte askcosmosdb@microsoft.com adresine gönderin.Send the .etl file along with repro steps to askcosmosdb@microsoft.com for debugging.

Yerel öykünücüyü kaldırmaUninstall the local emulator

  1. Sistem tepsisindeki Azure Cosmos öykünücü simgesine sağ tıklayıp sonra Çıkış'ı tıklatarak yerel öykünücü tüm açık örneklerini kapatın.Exit all open instances of the local emulator by right-clicking the Azure Cosmos Emulator icon on the system tray, and then clicking Exit. Tüm örneklerin çıkması bir dakika sürebilir.It may take a minute for all instances to exit.
  2. Windows arama kutusuna Uygulamalar ve özellikler yazın ve Uygulamalar ve özellikler (Sistem ayarları) sonucuna tıklayın.In the Windows search box, type Apps & features and click on the Apps & features (System settings) result.
  3. Uygulamalar listesinde Azure Cosmos DB Öykünücüsü’ne gidip bunu seçin, Kaldır’a tıklayın, daha sonra onaylayıp yeniden Kaldır’a tıklayın.In the list of apps, scroll to Azure Cosmos DB Emulator, select it, click Uninstall, then confirm and click Uninstall again.
  4. Uygulama kaldırıldığında %LOCALAPPDATA%\CosmosDBEmulator klasörüne gidip klasörü silin.When the app is uninstalled, navigate to %LOCALAPPDATA%\CosmosDBEmulator and delete the folder.

Sonraki adımlarNext steps

Bu öğreticide ücretsiz yerel geliştirme için yerel öykünücünün nasıl kullanılacağını öğrendiniz.In this tutorial, you've learned how to use the local emulator for free local development. Artık sonraki öğreticiye devam edebilir ve öykünücü SSL sertifikalarının nasıl dışarı aktarılacağını öğrenebilirsiniz.You can now proceed to the next tutorial and learn how to export emulator SSL certificates.