Použití emulátoru Azure Cosmos pro místní vývoj a testováníUse the Azure Cosmos Emulator for local development and testing

Emulátor Azure Cosmos poskytuje místní prostředí, které emuluje službu Azure Cosmos DB pro účely vývoje.The Azure Cosmos Emulator provides a local environment that emulates the Azure Cosmos DB service for development purposes. Pomocí emulátoru Azure Cosmos můžete svou aplikaci vyvíjet a testovat místně, aniž byste museli vytvářet předplatné Azure nebo náklady.Using the Azure Cosmos Emulator, you can develop and test your application locally, without creating an Azure subscription or incurring any costs. Až budete spokojeni s tím, jak vaše aplikace funguje v emulátoru Azure Cosmos, můžete přejít na používání účtu Azure Cosmos v cloudu.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.

Můžete vyvíjet pomocí emulátoru Azure Cosmos s využitím účtů SQL, Cassandra, MongoDB, Gremlina Table API.You can develop using Azure Cosmos Emulator with SQL, Cassandra, MongoDB, Gremlin, and Table API accounts. V současnosti ale zobrazení Průzkumník dat v emulátoru plně podporuje klienty pouze pro rozhraní SQL API.However at this time the Data Explorer view in the emulator fully supports clients for SQL API only.

Jak emulátor fungujeHow the emulator works

Emulátor Azure Cosmos zajišťuje emulaci Azure Cosmos DB služby s vysokou přesností.The Azure Cosmos Emulator provides a high-fidelity emulation of the Azure Cosmos DB service. Podporuje stejné funkce jako Azure Cosmos DB, včetně podpory pro vytváření a dotazování dat, zřizování a škálování kontejnerů a spouštění uložených procedur a triggerů.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. Můžete vyvíjet a testovat aplikace pomocí emulátoru Azure Cosmos a nasazovat je do Azure v globálním měřítku jenom tak, že se na koncový bod připojení pro Azure Cosmos DB nasadí jedna změna konfigurace.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.

Přestože je emulace služby Azure Cosmos DB věrná, implementace emulátoru se od služby liší.While emulation of the Azure Cosmos DB service is faithful, the emulator's implementation is different than the service. Emulátor například používá standardní součásti operačního systému, jako je místní systém souborů pro trvalost a sada protokolů HTTPS pro připojení.For example, the emulator uses standard OS components such as the local file system for persistence, and the HTTPS protocol stack for connectivity. Funkce, které se spoléhají na infrastrukturu Azure, jako je globální replikace, latence milisekund pro čtení a zápis a přizpůsobitelné úrovně konzistence se nevztahují.Functionality that relies on Azure infrastructure like global replication, single-digit millisecond latency for reads/writes, and tunable consistency levels are not applicable.

Data mezi emulátorem Azure Cosmos a službou Azure Cosmos DB můžete migrovat pomocí nástroje Azure Cosmos DB Data Migration Tool.You can migrate data between the Azure Cosmos Emulator and the Azure Cosmos DB service by using the Azure Cosmos DB Data Migration Tool.

Emulátor Azure Cosmos můžete spustit v kontejneru Docker systému Windows. Další informace najdete v Docker Hub pro příkaz Docker Pull a na GitHubu Dockerfile .You can run Azure Cosmos Emulator on the Windows Docker container, see the Docker Hub for the docker pull command and GitHub for the Dockerfile and more information.

Rozdíly mezi emulátorem a službouDifferences between the emulator and the service

Vzhledem k tomu, že emulátor Azure Cosmos poskytuje emulované prostředí běžící na místní pracovní stanici pro vývojáře, je mezi emulátorem a účtem Azure Cosmos v cloudu několik rozdílů: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:

  • Aktuálně Průzkumník dat v emulátoru podporuje klienty pro rozhraní SQL API.Currently Data Explorer in the emulator supports clients for SQL API. Zobrazení a operace Průzkumník dat pro rozhraní API Azure Cosmos DB, jako jsou MongoDB, Table, Graph a Cassandra API, nejsou plně podporované.The Data Explorer view and operations for Azure Cosmos DB APIs such as MongoDB, Table, Graph, and Cassandra APIs are not fully supported.
  • Emulátor Azure Cosmos podporuje jenom jeden pevný účet a dobře známý hlavní klíč.The Azure Cosmos Emulator supports only a single fixed account and a well-known master key. Vygenerování klíče není možné v emulátoru Azure Cosmos, ale výchozí klíč se dá změnit pomocí možnosti příkazového řádku.Key regeneration is not possible in the Azure Cosmos Emulator, however the default key can be changed using the command-line option.
  • Emulátor Azure Cosmos není škálovatelná služba a nebude podporovat velký počet kontejnerů.The Azure Cosmos Emulator is not a scalable service and will not support a large number of containers.
  • Emulátor Azure Cosmos nenabízí různé Azure Cosmos dB úrovně konzistence.The Azure Cosmos Emulator does not offer different Azure Cosmos DB consistency levels.
  • Emulátor Azure Cosmos nenabízí replikaci ve více oblastech.The Azure Cosmos Emulator does not offer multi-region replication.
  • Protože vaše kopie emulátoru Azure Cosmos nemusí být vždycky aktuální s nejnovějšími změnami ve službě Azure Cosmos DB, měli byste se podívat na Azure Cosmos DB Capacity Planneru a přesně odhadnout, jaké jsou požadavky vaší aplikace v produkční propustnosti (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.
  • Při použití emulátoru Azure Cosmos ve výchozím nastavení můžete vytvořit až 25 kontejnerů s pevnou velikostí (podporované jenom pomocí sad SDK pro Azure Cosmos DB) nebo 5 neomezených kontejnerů pomocí emulátoru Azure Cosmos.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. Další informace o změně této hodnoty najdete v části Nastavení hodnoty PartitionCount.For more information about changing this value, see Setting the PartitionCount value.
  • Emulátor podporuje maximální velikost vlastností ID 254 znaků.Emulator supports max id property size of 254 characters.

Požadavky na systémSystem requirements

Emulátor Azure Cosmos má následující požadavky na hardware a software:The Azure Cosmos Emulator has the following hardware and software requirements:

  • Požadavky na softwareSoftware requirements
    • Windows Server 2012 R2, Windows Server 2016 nebo Windows 10Windows Server 2012 R2, Windows Server 2016, or Windows 10
    • 64bitový operační systém64-bit operating system
  • Minimální požadavky na hardwareMinimum Hardware requirements
    • 2 GB RAM2-GB RAM
    • 10 GB volného místa na disku10-GB available hard disk space

InstalaceInstallation

Emulátor Azure Cosmos můžete stáhnout a nainstalovat z webu Microsoft Download Center nebo můžete spustit emulátor na Docker for Windows.You can download and install the Azure Cosmos Emulator from the Microsoft Download Center or you can run the emulator on Docker for Windows. Pokyny k používání emulátoru v Docker for Windows najdete v tématu spuštění v Docker.For instructions on using the emulator on Docker for Windows, see Running on Docker.

Poznámka

Pokud chcete nainstalovat, nakonfigurovat a spustit emulátor Azure Cosmos, musíte mít v počítači oprávnění správce.To install, configure, and run the Azure Cosmos Emulator, you must have administrative privileges on the computer. Emulátor vytvoří nebo přidá certifikát a také nastaví pravidla brány firewall, aby bylo možné provozovat jeho služby. Proto je nutné, aby emulátor mohl provádět tyto operace.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.

Spuštění v systému WindowsRunning on Windows

Emulátor Azure Cosmos spustíte tak, že vyberete tlačítko Start nebo stisknete klávesu Windows.To start the Azure Cosmos Emulator, select the Start button or press the Windows key. Začněte psát emulátor Azure Cosmosa vyberte ze seznamu aplikací emulátor.Begin typing Azure Cosmos Emulator, and select the emulator from the list of applications.

Vyberte tlačítko Start nebo stiskněte klávesu Windows, začněte psát emulátor Azure Cosmos a vyberte ze seznamu aplikací emulátor.

Po spuštění emulátoru se v oznamovací oblasti hlavního panelu Windows zobrazí jeho ikona.When the emulator is running, you'll see an icon in the Windows taskbar notification area.

Oznámení o Azure Cosmos DB hlavním emulátoru hlavního emulátoru

Emulátor Azure Cosmos ve výchozím nastavení běží na místním počítači (localhost), který naslouchá na portu 8081.The Azure Cosmos Emulator by default runs on the local machine ("localhost") listening on port 8081.

Emulátor Azure Cosmos je C:\Program Files\Azure Cosmos DB Emulator ve výchozím nastavení nainstalovaný.The Azure Cosmos Emulator is installed to C:\Program Files\Azure Cosmos DB Emulator by default. Emulátor můžete také spustit a zastavit z příkazového řádku.You can also start and stop the emulator from the command-line. Další informace najdete v referenčních informacích k nástroji příkazového řádku.For more information, see the command-line tool reference.

Spuštění Průzkumníka datStart Data Explorer

Když se emulátor Azure Cosmos spustí, automaticky se v prohlížeči otevře Průzkumník dat Azure Cosmos.When the Azure Cosmos Emulator launches, it automatically opens the Azure Cosmos Data Explorer in your browser. Adresa se zobrazí jako https://localhost:8081/_explorer/index.html.The address appears as https://localhost:8081/_explorer/index.html. Pokud zavřete Průzkumníka a chcete ho znovu otevřít později, můžete buď otevřít adresu URL v prohlížeči, nebo ji spustit z emulátoru Azure Cosmos v ikoně na hlavním panelu Windows, jak je znázorněno níže.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.

Spouštěč Průzkumníka dat místního emulátoru Azure Cosmos

Kontrola aktualizacíChecking for updates

Průzkumník dat zjistí, zda je k dispozici nová aktualizace ke stažení.Data Explorer indicates if there is a new update available for download.

Poznámka

Data vytvořená v jedné verzi emulátoru Azure Cosmos (viz%LOCALAPPDATA%\CosmosDBEmulator nebo volitelná nastavení cesty k datům) nejsou zaručená, že budou přístupná, pokud používáte jinou verzi.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. Pokud potřebujete zachovat data po dlouhou dobu, doporučujeme, abyste tato data ukládali v účtu Azure Cosmos, nikoli v emulátoru Azure Cosmos.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.

Ověřování požadavkůAuthenticating requests

Stejně jako u Azure Cosmos DB v cloudu musí být ověřeny všechny požadavky, které provedete v emulátoru Azure Cosmos.As with Azure Cosmos DB in the cloud, every request that you make against the Azure Cosmos Emulator must be authenticated. Emulátor Azure Cosmos podporuje jeden pevný účet a známý ověřovací klíč pro ověřování pomocí hlavního klíče.The Azure Cosmos Emulator supports a single fixed account and a well-known authentication key for master key authentication. Tento účet a klíč jsou jediné přihlašovací údaje povolené pro použití s emulátorem Azure Cosmos.This account and key are the only credentials permitted for use with the Azure Cosmos Emulator. Jsou to tyto:They are:

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

Poznámka

Hlavní klíč podporovaný emulátorem Azure Cosmos je určený jenom pro použití s emulátorem.The master key supported by the Azure Cosmos Emulator is intended for use only with the emulator. V emulátoru Azure Cosmos nemůžete použít svůj účet a klíč produkčního Azure Cosmos DB.You cannot use your production Azure Cosmos DB account and key with the Azure Cosmos Emulator.

Poznámka

Pokud jste spustili emulátor s možností/Key, pak použijte vygenerovaný klíč místo 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==. Další informace o možnosti/Key naleznete v tématu Reference k nástroji příkazového řádku.For more information about /Key option, see Command-line tool reference.

Jako u Azure Cosmos DB emulátor Azure Cosmos podporuje jenom zabezpečenou komunikaci pomocí protokolu TLS.As with the Azure Cosmos DB, the Azure Cosmos Emulator supports only secure communication via TLS.

Spuštění v místní sítiRunning on a local network

Emulátor můžete spustit v místní síti.You can run the emulator on a local network. Pokud chcete povolit přístup k síti, zadejte na /AllowNetworkAccess příkazovém řádkumožnost, která také vyžaduje, abyste zadali /Key=key_string nebo /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. Můžete použít /GenKeyFile=file_name k vygenerování souboru s náhodným klíčem.You can use /GenKeyFile=file_name to generate a file with a random key upfront. Pak můžete předat to /KeyFile=file_name nebo /Key=contents_of_file .Then you can pass that to /KeyFile=file_name or /Key=contents_of_file.

Pro povolení přístupu k síti uživateli při prvním spuštění emulátoru a odstranění datového adresáře emulátoru (%LOCALAPPDATA%\CosmosDBEmulator).To enable network access for the first time the user should shut down the emulator and delete the emulator's data directory (%LOCALAPPDATA%\CosmosDBEmulator).

Vývoj v emulátoruDeveloping with the emulator

SQL APISQL API

Jakmile na ploše spustíte emulátor Azure Cosmos, můžete k interakci s emulátorem použít libovolnou podporovanou sadu Azure Cosmos DB SDK nebo Azure Cosmos DB REST API .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. Emulátor Azure Cosmos obsahuje taky integrovaný Průzkumník dat, který umožňuje vytvářet kontejnery pro rozhraní SQL API nebo Cosmos DB pro rozhraní API Mongo DB a zobrazovat a upravovat položky bez psaní kódu.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==");

Rozhraní API služby Azure Cosmos DB pro MongoDBAzure Cosmos DB's API for MongoDB

Jakmile na ploše spustíte emulátor Azure Cosmos, můžete k interakci s emulátorem použít rozhraní API Azure Cosmos DB pro MongoDB .Once you have the Azure Cosmos Emulator running on your desktop, you can use the Azure Cosmos DB's API for MongoDB to interact with the emulator. Spusťte emulátor z příkazového řádku jako správce s názvem "/EnableMongoDbEndpoint".Start emulator from command prompt as an administrator with "/EnableMongoDbEndpoint". Pak použijte následující připojovací řetězec pro připojení k účtu rozhraní MongoDB API:Then use the following connection string to connect to the MongoDB API account:

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

Rozhraní Table APITable API

Jakmile na ploše spustíte emulátor Azure Cosmos, můžete k interakci s emulátorem použít sadu SDK pro rozhraní API pro tabulky Azure Cosmos DB .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. Spusťte emulátor z příkazového řádku jako správce s názvem "/EnableTableEndpoint".Start emulator from command prompt as an administrator with "/EnableTableEndpoint". V dalším kroku spusťte následující kód pro připojení k účtu rozhraní Table API: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")));

Rozhraní Cassandra APICassandra API

Spusťte emulátor z příkazového řádku správce s názvem "/EnableCassandraEndpoint".Start emulator from an administrator command prompt with "/EnableCassandraEndpoint". Případně můžete také nastavit proměnnou prostředí AZURE_COSMOS_EMULATOR_CASSANDRA_ENDPOINT=true .Alternatively you can also set the environment variable AZURE_COSMOS_EMULATOR_CASSANDRA_ENDPOINT=true.

  • Instalace Pythonu 2,7Install Python 2.7

  • Instalace rozhraní příkazového řádku Cassandra/CQLSHInstall Cassandra CLI/CQLSH

  • V běžném okně příkazového řádku spusťte následující příkazy: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
    
  • V prostředí CQLSH spusťte následující příkazy pro připojení ke koncovému bodu Cassandra: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
    

Rozhraní Gremlin APIGremlin API

Spusťte emulátor z příkazového řádku správce s názvem "/EnableGremlinEndpoint".Start emulator from an administrator command prompt with "/EnableGremlinEndpoint". Případně můžete také nastavit proměnnou prostředí.AZURE_COSMOS_EMULATOR_GREMLIN_ENDPOINT=trueAlternatively you can also set the environment variable AZURE_COSMOS_EMULATOR_GREMLIN_ENDPOINT=true

  • Nainstalujte Apache-tinkerpop-Gremlin-Console-3.3.4.Install apache-tinkerpop-gremlin-console-3.3.4.

  • V Průzkumník dat emulátoru vytvořte databázi "DB1" a kolekci "coll1"; pro klíč oddílu vyberte "/Name".In the emulator's Data Explorer create a database "db1" and a collection "coll1"; for the partition key, choose "/name"

  • V běžném okně příkazového řádku spusťte následující příkazy: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
    
  • V prostředí Gremlin spusťte následující příkazy pro připojení ke koncovému bodu Gremlin: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()
    

Export certifikátu TLS/SSLExport the TLS/SSL certificate

Jazyky a moduly runtime rozhraní .NET používají k bezpečnému připojení k místnímu emulátoru služby Azure Cosmos DB úložiště certifikátů systému Windows..NET languages and runtime use the Windows Certificate Store to securely connect to the Azure Cosmos DB local emulator. Další jazyky mají vlastní metody správy a použití certifikátů.Other languages have their own method of managing and using certificates. Java používá vlastní úložiště certifikátů, zatímco Python používá obálky soketu.Java uses its own certificate store whereas Python uses socket wrappers.

Pokud chcete získat certifikát pro použití s jazyky a moduly runtime, které se neintegrují s úložištěm certifikátů systému Windows, budete ho muset exportovat pomocí Správce certifikátů systému Windows.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. Můžete ji spustit spuštěním Certlm. msc nebo podle podrobných pokynů v tématu export certifikátů emulátoru Azure Cosmos.You can start it by running certlm.msc or follow the step by step instructions in Export the Azure Cosmos Emulator Certificates. Jakmile je správce certifikátů spuštěn, otevřete osobní certifikáty, jak je zobrazeno níže, a exportujte certifikát s popisným názvem „DocumentDBEmulatorCertificate“ jako soubor X.509 (.cer) s kódováním BASE-64.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 certifikát TLS/SSL místního emulátoru

Certifikát X.509 lze importovat do úložiště certifikátů Javy podle pokynů v tématu o přidání certifikátu do úložiště certifikátů certifikační autority Javy.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. Až se certifikát naimportuje do úložiště certifikátů, klienti pro SQL a Azure Cosmos DB API pro MongoDB se budou moct připojit k emulátoru Azure Cosmos.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.

Při připojování k emulátoru z Pythonu a Node.js SDK je ověřování TLS zakázané.When connecting to the emulator from Python and Node.js SDKs, TLS verification is disabled.

Reference nástroje příkazového řádkuCommand-line tool reference

Z umístění instalace můžete pomocí příkazového řádku spustit a zastavit emulátor, nakonfigurovat možnosti a provést jiné operace.From the installation location, you can use the command-line to start and stop the emulator, configure options, and perform other operations.

Syntaxe příkazového řádkuCommand-line syntax

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

Pokud chcete zobrazit seznam možností, na příkazovém řádku zadejte Microsoft.Azure.Cosmos.Emulator.exe /?.To view the list of options, type Microsoft.Azure.Cosmos.Emulator.exe /? at the command prompt.

NastaveníOption PopisDescription PříkazCommand ArgumentsArguments
[Žádné argumenty][No arguments] Spustí emulátor Azure Cosmos s výchozími nastaveními.Starts up the Azure Cosmos Emulator with default settings. Microsoft.Azure.Cosmos.Emulator.exeMicrosoft.Azure.Cosmos.Emulator.exe
[Nápověda][Help] Zobrazí seznam podporovaných argumentů příkazového řádku.Displays the list of supported command-line arguments. Microsoft.Azure.Cosmos.Emulator.exe/?Microsoft.Azure.Cosmos.Emulator.exe /?
GetStatusGetStatus Získá stav emulátoru Azure Cosmos.Gets the status of the Azure Cosmos Emulator. Stav je indikován ukončovacím kódem: 1 = spouštění, 2 = spuštěno, 3 = zastaveno.The status is indicated by the exit code: 1 = Starting, 2 = Running, 3 = Stopped. Záporný ukončovací kód označuje, že došlo k chybě.A negative exit code indicates that an error occurred. Žádný jiný výstup neexistuje.No other output is produced. Microsoft.Azure.Cosmos.Emulator.exe/GetStatusMicrosoft.Azure.Cosmos.Emulator.exe /GetStatus
VypnutíShutdown Ukončí emulátor Azure Cosmos.Shuts down the Azure Cosmos Emulator. Microsoft.Azure.Cosmos.Emulator.exe/ShutdownMicrosoft.Azure.Cosmos.Emulator.exe /Shutdown
DataPathDataPath Určuje cestu, do které chcete uložit datové soubory.Specifies the path in which to store data files. Výchozí hodnota je%LocalAppdata%\CosmosDBEmulator.Default value is %LocalAppdata%\CosmosDBEmulator. Microsoft.Azure.Cosmos.Emulator.exe/DataPath =<datapath>Microsoft.Azure.Cosmos.Emulator.exe /DataPath=<datapath> <datapath>: Přístupná cesta<datapath>: An accessible path
PortPort Určuje číslo portu pro emulátor.Specifies the port number to use for the emulator. Výchozí hodnota je 8081.Default value is 8081. Microsoft.Azure.Cosmos.Emulator.exe/port =<port>Microsoft.Azure.Cosmos.Emulator.exe /Port=<port> <port>: Jedno číslo portu<port>: Single port number
ComputePortComputePort Určuje číslo portu, které se má použít pro službu COMPUTE Interop Gateway.Specified the port number to use for the Compute Interop Gateway service. Port testu koncového bodu HTTP brány se počítá jako ComputePort + 79.The Gateway's HTTP endpoint probe port is calculated as ComputePort + 79. Proto musí být ComputePort a ComputePort + 79 otevřené a dostupné.Hence, ComputePort and ComputePort + 79 must be open and available. Výchozí hodnota je 8900.The default value is 8900. Microsoft.Azure.Cosmos.Emulator.exe/ComputePort =<computeport>Microsoft.Azure.Cosmos.Emulator.exe /ComputePort=<computeport> <computeport>: Jedno číslo portu<computeport>: Single port number
EnableMongoDbEndpoint = 3.2EnableMongoDbEndpoint=3.2 Povolí rozhraní MongoDB API 3,2.Enables MongoDB API 3.2 Microsoft.Azure.Cosmos.Emulator.exe/EnableMongoDbEndpoint = 3.2Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.2
EnableMongoDbEndpoint = 3.6EnableMongoDbEndpoint=3.6 Povolí rozhraní MongoDB API 3,6.Enables MongoDB API 3.6 Microsoft.Azure.Cosmos.Emulator.exe/EnableMongoDbEndpoint = 3.6Microsoft.Azure.Cosmos.Emulator.exe /EnableMongoDbEndpoint=3.6
MongoPortMongoPort Určuje číslo portu, který chcete použít pro rozhraní API kompatibility MongoDB.Specifies the port number to use for MongoDB compatibility API. Výchozí hodnota je 10255.Default value is 10255. Microsoft.Azure.Cosmos.Emulator.exe/MongoPort =<mongoport>Microsoft.Azure.Cosmos.Emulator.exe /MongoPort=<mongoport> <mongoport>: Jedno číslo portu<mongoport>: Single port number
EnableCassandraEndpointEnableCassandraEndpoint Povolí rozhraní API CassandraEnables Cassandra API Microsoft.Azure.Cosmos.Emulator.exe/EnableCassandraEndpointMicrosoft.Azure.Cosmos.Emulator.exe /EnableCassandraEndpoint
CassandraPortCassandraPort Určuje číslo portu, který se má použít pro koncový bod Cassandra.Specifies the port number to use for the Cassandra endpoint. Výchozí hodnota je 10350.Default value is 10350. Microsoft.Azure.Cosmos.Emulator.exe/CassandraPort =<cassandraport>Microsoft.Azure.Cosmos.Emulator.exe /CassandraPort=<cassandraport> <cassandraport>: Jedno číslo portu<cassandraport>: Single port number
EnableGremlinEndpointEnableGremlinEndpoint Povolí rozhraní Gremlin API.Enables Gremlin API Microsoft.Azure.Cosmos.Emulator.exe/EnableGremlinEndpointMicrosoft.Azure.Cosmos.Emulator.exe /EnableGremlinEndpoint
GremlinPortGremlinPort Číslo portu, které se má použít pro koncový bod GremlinPort number to use for the Gremlin Endpoint. Výchozí hodnota je 8901.Default value is 8901. Microsoft.Azure.Cosmos.Emulator.exe/GremlinPort =<port>Microsoft.Azure.Cosmos.Emulator.exe /GremlinPort=<port> <port>: Jedno číslo portu<port>: Single port number
EnableTableEndpointEnableTableEndpoint Povolí Azure rozhraní API pro tabulkyEnables Azure Table API Microsoft.Azure.Cosmos.Emulator.exe/EnableTableEndpointMicrosoft.Azure.Cosmos.Emulator.exe /EnableTableEndpoint
TablePortTablePort Číslo portu, které se má použít pro koncový bod tabulky AzurePort number to use for the Azure Table Endpoint. Výchozí hodnota je 8902.Default value is 8902. Microsoft.Azure.Cosmos.Emulator.exe/TablePort =<port>Microsoft.Azure.Cosmos.Emulator.exe /TablePort=<port> <port>: Jedno číslo portu<port>: Single port number
KeyFileKeyFile Načte autorizační klíč ze zadaného souboru.Read authorization key from the specified file. Pro vytvoření souboru klíče použijte možnost/GenKeyFileUse the /GenKeyFile option to generate a keyfile Microsoft.Azure.Cosmos.Emulator.exe/KeyFile =<file_name>Microsoft.Azure.Cosmos.Emulator.exe /KeyFile=<file_name> <file_name>: Cesta k souboru<file_name>: Path to the file
ResetDataPathResetDataPath Rekurzivně odstraní všechny soubory v zadané cestě.Recursively removes all the files in the specified path. Pokud cestu nezadáte, použije se výchozí hodnota%LOCALAPPDATA%\CosmosDbEmulator.If you don't specify a path, it defaults to %LOCALAPPDATA%\CosmosDbEmulator Microsoft.Azure.Cosmos.Emulator.exe/ResetDataPath =<path>Microsoft.Azure.Cosmos.Emulator.exe /ResetDataPath=<path> <path>: Cesta k souboru<path>: File path
StartTracesStartTraces Spusťte shromažďování protokolů trasování ladění pomocí programu LOGMAN.Start collecting debug trace logs using LOGMAN. Microsoft.Azure.Cosmos.Emulator.exe/StartTracesMicrosoft.Azure.Cosmos.Emulator.exe /StartTraces
StopTracesStopTraces Zastavte shromažďování protokolů trasování ladění pomocí programu LOGMAN.Stop collecting debug trace logs using LOGMAN. Microsoft.Azure.Cosmos.Emulator.exe/StopTracesMicrosoft.Azure.Cosmos.Emulator.exe /StopTraces
StartWprTracesStartWprTraces Spusťte shromažďování protokolů trasování ladění pomocí nástroje pro záznam výkonu systému Windows.Start collecting debug trace logs using Windows Performance Recording tool. Microsoft.Azure.Cosmos.Emulator.exe/StartWprTracesMicrosoft.Azure.Cosmos.Emulator.exe /StartWprTraces
StopWprTracesStopWprTraces Zastavte shromažďování protokolů trasování ladění pomocí nástroje pro záznam výkonu systému Windows.Stop collecting debug trace logs using Windows Performance Recording tool. Microsoft.Azure.Cosmos.Emulator.exe/StopWprTracesMicrosoft.Azure.Cosmos.Emulator.exe /StopWprTraces
FailOnSslCertificateNameMismatchFailOnSslCertificateNameMismatch Ve výchozím nastavení emulátor znovu vygeneruje svůj certifikát TLS/SSL podepsaný svým držitelem, pokud síť SAN certifikátu neobsahuje název domény hostitele emulátoru, místní adresu IPv4, localhost a adresu 127.0.0.1.By default the Emulator regenerates its self-signed TLS/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'. Tato možnost způsobí, že emulátor při spuštění selže.With this option, the emulator will fail at startup instead. Pak použijte možnost/GenCert k vytvoření a instalaci nového certifikátu TLS/SSL podepsaného svým držitelem.You should then use the /GenCert option to create and install a new self-signed TLS/SSL certificate. Microsoft.Azure.Cosmos.Emulator.exe/FailOnSslCertificateNameMismatchMicrosoft.Azure.Cosmos.Emulator.exe /FailOnSslCertificateNameMismatch
GenCertGenCert Vygenerujte a nainstalujte nový certifikát TLS/SSL podepsaný svým držitelem.Generate and install a new self-signed TLS/SSL certificate. Volitelně můžete zahrnout čárkami oddělený seznam dalších názvů DNS pro přístup k emulátoru přes síť.optionally including a comma-separated list of additional DNS names for accessing the Emulator over the network. Microsoft.Azure.Cosmos.Emulator.exe/GenCert =<dns-names>Microsoft.Azure.Cosmos.Emulator.exe /GenCert=<dns-names> <dns-names>: Volitelný čárkami oddělený seznam dalších názvů DNS<dns-names>: Optional comma-separated list of additional dns names
DirectPortsDirectPorts Určuje porty, které chcete použít pro přímé připojení.Specifies the ports to use for direct connectivity. Výchozí hodnoty jsou 10251,10252,10253,10254.Defaults are 10251,10252,10253,10254. Microsoft.Azure.Cosmos.Emulator.exe/DirectPorts:<directports>Microsoft.Azure.Cosmos.Emulator.exe /DirectPorts:<directports> <directports>: Seznam 4 portů oddělených čárkami<directports>: Comma-delimited list of 4 ports
KlíčKey Autorizační klíč pro emulátor.Authorization key for the emulator. Klíč musí být 64bajtový vektor s kódováním base-64.Key must be the base-64 encoding of a 64-byte vector. Microsoft.Azure.Cosmos.Emulator.exe/Key:<key>Microsoft.Azure.Cosmos.Emulator.exe /Key:<key> <key>: Klíč musí být kódování Base-64 pro vektor 64-byte.<key>: Key must be the base-64 encoding of a 64-byte vector
EnableRateLimitingEnableRateLimiting Určuje, že je povoleno chování omezující četnost požadavků.Specifies that request rate limiting behavior is enabled. Microsoft.Azure.Cosmos.Emulator.exe/EnableRateLimitingMicrosoft.Azure.Cosmos.Emulator.exe /EnableRateLimiting
DisableRateLimitingDisableRateLimiting Určuje, že je zakázáno chování omezující četnost požadavků.Specifies that request rate limiting behavior is disabled. Microsoft.Azure.Cosmos.Emulator.exe/DisableRateLimitingMicrosoft.Azure.Cosmos.Emulator.exe /DisableRateLimiting
NoUINoUI Nezobrazuje uživatelské rozhraní emulátoru.Do not show the emulator user interface. Microsoft.Azure.Cosmos.Emulator.exe/NoUIMicrosoft.Azure.Cosmos.Emulator.exe /NoUI
NoExplorerNoExplorer Nezobrazuje Průzkumníka dat při spuštění.Don't show data explorer on startup. Microsoft.Azure.Cosmos.Emulator.exe/NoExplorerMicrosoft.Azure.Cosmos.Emulator.exe /NoExplorer
PartitionCountPartitionCount Určuje maximální počet kontejnerů rozdělený na oddíly.Specifies the maximum number of partitioned containers. Další informace najdete v tématu Změna počtu kontejnerů .See Change the number of containers for more information. Microsoft.Azure.Cosmos.Emulator.exe/PartitionCount =<partitioncount>Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=<partitioncount> <partitioncount>: Maximální počet povolených kontejnerů s jedním oddílem.<partitioncount>: Maximum number of allowed single partition containers. Výchozí hodnota je 25.Default value is 25. Maximální povolený počet je 250.Maximum allowed is 250.
DefaultPartitionCountDefaultPartitionCount Určuje výchozí počet oddílů pro kontejner rozdělený na oddíly.Specifies the default number of partitions for a partitioned container. Microsoft.Azure.Cosmos.Emulator.exe/DefaultPartitionCount =<defaultpartitioncount>Microsoft.Azure.Cosmos.Emulator.exe /DefaultPartitionCount=<defaultpartitioncount> <defaultpartitioncount>Výchozí hodnota je 25.<defaultpartitioncount> Default value is 25.
AllowNetworkAccessAllowNetworkAccess Povolí přístup k emulátoru přes síť.Enables access to the emulator over a network. <key_string> <file_name> Abyste mohli povolit přístup k síti, musíte taky předat/Key = nebo/keyfile =.You must also pass /Key=<key_string> or /KeyFile=<file_name> to enable network access. Microsoft.Azure.Cosmos.Emulator.exe/AllowNetworkAccess/Key = <key_string> nebo Microsoft.Azure.Cosmos.Emulator.exe/AllowNetworkAccess/keyfile =<file_name>Microsoft.Azure.Cosmos.Emulator.exe /AllowNetworkAccess /Key=<key_string> or Microsoft.Azure.Cosmos.Emulator.exe /AllowNetworkAccess /KeyFile=<file_name>
NoFirewallNoFirewall Neupravujte pravidla brány firewall, pokud se používá možnost/AllowNetworkAccess.Don't adjust firewall rules when /AllowNetworkAccess option is used. Microsoft.Azure.Cosmos.Emulator.exe/NoFirewallMicrosoft.Azure.Cosmos.Emulator.exe /NoFirewall
GenKeyFileGenKeyFile Vygeneruje nový autorizační klíč a uloží ho do zadaného souboru.Generate a new authorization key and save to the specified file. Generovaný klíč lze použít s možností /Key nebo/KeyFile.The generated key can be used with the /Key or /KeyFile options. Microsoft.Azure.Cosmos.Emulator.exe/GenKeyFile =<path to key file>Microsoft.Azure.Cosmos.Emulator.exe /GenKeyFile=<path to key file>
KonzistenceConsistency Nastaví výchozí úroveň konzistence pro účet.Set the default consistency level for the account. Microsoft.Azure.Cosmos.Emulator.exe/Consistency =<consistency>Microsoft.Azure.Cosmos.Emulator.exe /Consistency=<consistency> <consistency>: Hodnota musí být jedna z následujících úrovní konzistence: Session, Strong, případný nebo BoundedStaleness.<consistency>: Value must be one of the following consistency levels: Session, Strong, Eventual, or BoundedStaleness. Výchozí hodnota je Session.The default value is Session.
?? Zobrazí zprávu nápovědy.Show the help message.

Změna počtu kontejnerůChange the number of containers

Ve výchozím nastavení můžete vytvořit až 25 kontejnerů s pevnou velikostí (podporované jenom pomocí sad Azure Cosmos DB SDK) nebo 5 neomezených kontejnerů pomocí emulátoru Azure Cosmos.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. Změnou hodnoty PartitionCount můžete vytvořit až 250 kontejnerů pevné velikosti nebo 50 neomezených kontejnerů, případně jakoukoli kombinaci dvou, která nepřekračuje 250 kontejnerů pevné velikosti (kde jeden neomezený kontejner = 5 kontejnerů pevné velikosti).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). Nedoporučuje se však nastavit emulátor pro spuštění s více než 200 kontejnery s pevnou velikostí.However it's not recommended to set up the emulator to run with more than 200 fixed size containers. Z důvodu režie, kterou přidává k diskovým operacím v/v, což vede k nepředvídatelným časovým limitům při použití rozhraní API koncových bodů.Because of the overhead that it adds to the disk IO operations, which result in unpredictable timeouts when using the endpoint APIs.

Pokud se pokusíte vytvořit kontejner po překročení aktuálního počtu oddílů, emulátor vyvolá výjimku ServiceUnavailable s následující zprávou.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.

Omlouváme se, ale v tuto chvíli máme vysokou poptávku a v tuto chvíli nemůže váš požadavek splnit."Sorry, we are currently experiencing high demand in this region, and cannot fulfill your request at this time. Průběžně pracujeme na zajištění více a větší kapacity online a pomůžeme vám to zkusit znovu.We work continuously to bring more and more capacity online, and encourage you to try again. ActivityId: 12345678-1234-1234-1234-123456789ABC "ActivityId: 12345678-1234-1234-1234-123456789abc"

Pokud chcete změnit počet kontejnerů dostupných v emulátoru Azure Cosmos, spusťte následující postup:To change the number of containers available in the Azure Cosmos Emulator, run the following steps:

  1. Kliknutím pravým tlačítkem na ikonu emulátoru Azure Cosmos DB na hlavním panelu a kliknutím na resetovat dataodstraňte všechna místní data emulátoru Azure Cosmos.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. Odstraní všechna data emulátoru v této složce %LOCALAPPDATA%\CosmosDBEmulator .Delete all emulator data in this folder %LOCALAPPDATA%\CosmosDBEmulator.
  3. Ukončete všechny otevřené instance tak, že kliknete pravým tlačítkem myši na ikonu emulátoru služby Azure Cosmos DB na hlavním panelu systému a potom kliknete na Exit (Konec).Exit all open instances by right-clicking the Azure Cosmos DB Emulator icon on the system tray, and then clicking Exit. Ukončení všech instancí může chvíli trvat.It may take a minute for all instances to exit.
  4. Nainstalujte nejnovější verzi emulátoru Azure Cosmos.Install the latest version of the Azure Cosmos Emulator.
  5. Spusťte emulátor s příznakem PartitionCount nastaveným na hodnotu < = 250.Launch the emulator with the PartitionCount flag by setting a value <= 250. Například: C:\Program Files\Azure Cosmos DB Emulator> Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=100.For example: C:\Program Files\Azure Cosmos DB Emulator> Microsoft.Azure.Cosmos.Emulator.exe /PartitionCount=100.

Řízení emulátoruControlling the emulator

Emulátor se dodává s modulem PowerShellu pro spuštění, zastavení, odinstalaci a načtení stavu služby.The emulator comes with a PowerShell module to start, stop, uninstall, and retrieve the status of the service. Spuštěním následující rutiny použijte modul prostředí PowerShell:Run the following cmdlet to use the PowerShell module:

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

nebo umístěte PSModules adresář na svůj PSModulesPath a naimportujte ho, jak je znázorněno v následujícím příkazu: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

Zde je uveden seznam příkazů pro řízení emulátoru z PowerShellu:Here is a summary of the commands for controlling the emulator from PowerShell:

Get-CosmosDbEmulatorStatus

SyntaxSyntax

Get-CosmosDbEmulatorStatus

PoznámkyRemarks

Vrátí jednu z těchto hodnot ServiceControllerStatus: ServiceControllerStatus.StartPending, ServiceControllerStatus.Running nebo ServiceControllerStatus.Stopped.Returns one of these ServiceControllerStatus values: ServiceControllerStatus.StartPending, ServiceControllerStatus.Running, or ServiceControllerStatus.Stopped.

Start-CosmosDbEmulator

SyntaxSyntax

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

PoznámkyRemarks

Spustí emulátor.Starts the emulator. Ve výchozím nastavení tento příkaz čeká, dokud emulátor nebude připraven přijímat požadavky.By default, the command waits until the emulator is ready to accept requests. Pokud chcete, aby se rutina vrátila, jakmile spustí emulátor, použijte možnost -NoWait.Use the -NoWait option, if you wish the cmdlet to return as soon as it starts the emulator.

Stop-CosmosDbEmulator

SyntaxSyntax

Stop-CosmosDbEmulator [-NoWait]

PoznámkyRemarks

Zastaví emulátor.Stops the emulator. Ve výchozím nastavení tento příkaz čeká, až emulátor je zcela vypnutý.By default, this command waits until the emulator is fully shut down. Pokud chcete, aby se rutina vrátila, jakmile se emulátor začne vypínat, použijte možnost -NoWait.Use the -NoWait option, if you wish the cmdlet to return as soon as the emulator begins to shut down.

Uninstall-CosmosDbEmulator

SyntaxSyntax

Uninstall-CosmosDbEmulator [-RemoveData]

PoznámkyRemarks

Odinstaluje emulátor a volitelně odstraní úplný obsah $env:LOCALAPPDATA\CosmosDbEmulator.Uninstalls the emulator and optionally removes the full contents of $env:LOCALAPPDATA\CosmosDbEmulator. Rutina zajišťuje zastavení emulátoru před jeho odinstalací.The cmdlet ensures the emulator is stopped before uninstalling it.

Spuštění v DockeruRunning on Docker

Emulátor Azure Cosmos můžete spustit na Docker for Windows.The Azure Cosmos Emulator can be run on Docker for Windows. Emulátor nefunguje v aplikaci Docker for Oracle Linux.The emulator does not work on Docker for Oracle Linux.

Jakmile Docker for Windows nainstalujete, přepněte na kontejnery Windows tak, že kliknete pravým tlačítkem myši na ikonu Dockeru na panelu nástrojů a vyberete Switch to Windows containers (Přepnout na kontejnery Windows).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.

Potom si spuštěním následujícího příkazu z vašeho oblíbeného prostředí stáhněte image emulátoru z Centra Dockeru.Next, pull the emulator image from Docker Hub by running the following command from your favorite shell.

docker pull mcr.microsoft.com/cosmosdb/windows/azure-cosmos-emulator

Pokud chcete image spustit, spusťte následující příkazy.To start the image, run the following commands.

Z příkazového řádku: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 mcr.microsoft.com/cosmosdb/windows/azure-cosmos-emulator

Poznámka

Pokud se zobrazí chyba konfliktu portů (zadaný port se už používá) při spuštění příkazu Docker Run, můžete předat vlastní port změnou čísel portů.If you see a port conflict error (specified port is already in use) when you run the docker run command, you can pass a custom port by altering the port numbers. Můžete například změnit "-p 8081:8081" na "-p 443:8081"For example, you can change the "-p 8081:8081" to "-p 443:8081"

Z PowerShellu: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 mcr.microsoft.com/cosmosdb/windows/azure-cosmos-emulator

Odpověď vypadá podobně jako následující zpráva: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

Nyní použijte koncový bod a hlavní klíč z odpovědi v klientovi a importujte certifikát TLS/SSL do hostitele.Now use the endpoint and master key-in from the response in your client and import the TLS/SSL certificate into your host. Certifikát TLS/SSL naimportujete z příkazového řádku správce následujícím způsobem:To import the TLS/SSL certificate, do the following from an admin command prompt:

Z příkazového řádku:From the command-line:

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

Z PowerShellu:From PowerShell:

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

Po spuštění emulátoru se zavře interaktivní prostředí, aby se ukončil kontejner emulátoru.Closing the interactive shell once the emulator has been started will shut down the emulator's container.

Pokud chcete otevřít Průzkumníka dat, přejděte v prohlížeči na následující adresu URL.To open the Data Explorer, navigate to the following URL in your browser. Koncový bod emulátoru je uveden ve zprávě s odpovědí uvedené výše.The emulator endpoint is provided in the response message shown above.

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

Pokud máte klientskou aplikaci .NET spuštěnou v kontejneru Docker platformy Linux a pokud používáte emulátor Azure Cosmos na hostitelském počítači, použijte prosím následující oddíl pro systém Linux k importu certifikátu do kontejneru Docker pro Linux.If you have a .NET client application running on a Linux docker container and if you are running Azure Cosmos emulator on a host machine, please follow the below section for Linux to import the certificate into the Linux docker container.

Spuštění v systému Mac nebo LinuxRunning on Mac or Linux

V současné době se emulátor Cosmos dá spustit jenom ve Windows.Currently the Cosmos emulator can only be run on Windows. Uživatelé se systémem Mac nebo Linux můžou spustit emulátor na virtuálním počítači s Windows, který hostuje hypervisor, jako je Parallel nebo VirtualBox.Users running Mac or Linux can run the emulator in a Windows virtual machine hosted a hypervisor such as Parallels or VirtualBox. Tady je postup, jak to povolit.Below are the steps to enable this.

Ve virtuálním počítači s Windows spusťte níže uvedený příkaz a poznamenejte si adresu IPv4.Within the Windows VM run the command below and make note of the IPv4 address.

ipconfig.exe

V rámci aplikace potřebujete změnit identifikátor URI, který se používá jako koncový bod pro použití adresy IPv4 vrácené funkcí ipconfig.exe místo localhost .Within your application you need to change the URI used as Endpoint to use the IPv4 address returned by ipconfig.exe instead of localhost.

V dalším kroku z na virtuálním počítači s Windows spustíte emulátor Cosmos z příkazového řádku pomocí následujících možností.The next step, 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==

Nakonec musíme importovat certifikát CA emulátoru do prostředí Linux nebo Mac.Finally, we need to import the Emulator CA certificate into the Linux or Mac environment.

LinuxLinux

Pokud pracujete na platformě Linux, aplikace .NET Relay na OpenSSL provede ověření:If you are working on Linux, .NET relays on OpenSSL to do the validation:

  1. Exportujte certifikát ve formátu PFX (při volbě exportu privátního klíče je k dispozici PFX).Export the certificate in PFX format (PFX is available when choosing to export the private key).

  2. Zkopírujte tento soubor PFX do svého prostředí Linux.Copy that PFX file into your Linux environment.

  3. Převést soubor PFX na soubor CRTConvert the PFX file into a CRT file

    openssl pkcs12 -in YourPFX.pfx -clcerts -nokeys -out YourCTR.crt
    
  4. Zkopírujte soubor CRT do složky, která obsahuje vlastní certifikáty v distribuci systému Linux.Copy the CRT file to the folder that contains custom certificates in your Linux distribution. V Debian distribucích se obvykle nachází na /usr/local/share/ca-certificates/ .Commonly on Debian distributions, it is located on /usr/local/share/ca-certificates/.

    cp YourCTR.crt /usr/local/share/ca-certificates/
    
  5. Aktualizujte certifikáty certifikační autority, které budou aktualizovat /etc/ssl/certs/ složku.Update the CA certificates, which will update the /etc/ssl/certs/ folder.

    update-ca-certificates
    

macOSmacOS

Pokud pracujete na Macu, použijte následující postup:Use the following steps if you are working on Mac:

  1. Exportujte certifikát ve formátu PFX (při volbě exportu privátního klíče je k dispozici PFX).Export the certificate in PFX format (PFX is available when choosing to export the private key).

  2. Zkopírujte tento soubor PFX do prostředí Mac.Copy that PFX file into your Mac environment.

  3. Otevřete aplikaci pro přístup k řetězci klíčů a IMPORTUJTE soubor PFX.Open the Keychain Access application and import the PFX file.

  4. Otevřete seznam certifikátů a Identifikujte ho názvem localhost .Open the list of Certificates and identify the one with the name localhost.

  5. Otevřete kontextovou nabídku pro tuto konkrétní položku, vyberte možnost získat položku a v části důvěřovat > při použití tohoto certifikátu vyberte možnost vždy důvěřovat.Open the context menu for that particular item, select Get Item and under Trust > When using this certificate option, select Always Trust.

    Otevřete kontextovou nabídku pro tuto konkrétní položku, vyberte získat položku a v části důvěřovat – při použití tohoto certifikátu vyberte možnost vždy důvěřovat.

Po provedení tohoto postupu bude vaše prostředí důvěřovat certifikátu používanému emulátorem při připojování k IP adrese, kterou zveřejňuje /AllowNetworkAccess .After following these steps, your environment will trust the certificate used by the Emulator when connecting to the IP address exposes by /AllowNetworkAccess.

Řešení potížíTroubleshooting

Následující tipy vám pomůžou při řešení problémů, ke kterým dochází v emulátoru Azure Cosmos:Use the following tips to help troubleshoot issues you encounter with the Azure Cosmos Emulator:

  • Pokud jste nainstalovali novou verzi emulátoru a dochází k chybám, proveďte obnovení dat.If you installed a new version of the emulator and are experiencing errors, ensure you reset your data. Data můžete obnovit kliknutím pravým tlačítkem na ikonu emulátoru Azure Cosmos na hlavním panelu systému a kliknutím na resetovat data....You can reset your data by right-clicking the Azure Cosmos Emulator icon on the system tray, and then clicking Reset Data…. Pokud to neopraví chyby, můžete emulátor a všechny starší verze emulátoru odinstalovat, odebrat adresář "C:\Program files\Azure Cosmos DB emulátor" a přeinstalovat emulátor.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. Pokyny najdete v části Odinstalace místního emulátoru.See Uninstall the local emulator for instructions.

  • Pokud dojde k selhání emulátoru Azure Cosmos, shromážděte soubory s výpisem paměti ze složky '%LOCALAPPDATA%\CrashDumps ', Zkomprimujte je a otevřete lístek podpory z Azure Portal.If the Azure Cosmos Emulator crashes, collect dump files from '%LOCALAPPDATA%\CrashDumps' folder, compress them, and open a support ticket from the Azure portal.

  • Pokud dojde k chybě Microsoft.Azure.Cosmos.ComputeServiceStartupEntryPoint.exe , může to být příznak, ve kterém jsou čítače výkonu v poškozeném stavu.If you experience crashes in Microsoft.Azure.Cosmos.ComputeServiceStartupEntryPoint.exe, this might be a symptom where the Performance Counters are in a corrupted state. Obvykle se při spuštění následujícího příkazu z příkazového řádku správce vyřeší problém:Usually running the following command from an admin command prompt fixes the issue:

    lodctr /R
    
  • Pokud narazíte na problém s připojením, Shromážděte trasovací soubory, Zkomprimujte je a otevřete lístek podpory v Azure Portal.If you encounter a connectivity issue, collect trace files, compress them, and open a support ticket in the Azure portal.

  • Pokud se zobrazí zpráva Služba není dostupná, pravděpodobně se emulátoru nedaří inicializovat sadu síťových protokolů.If you receive a Service Unavailable message, the emulator might be failing to initialize the network stack. Zkontrolujte, zda máte nainstalovaného klienta Pulse Secure nebo klienta Juniper Networks, protože potíže mohou způsobovat jejich ovladače síťových filtrů.Check to see if you have the Pulse secure client or Juniper networks client installed, as their network filter drivers may cause the problem. Odinstalace ovladačů síťových filtrů třetích stran obvykle potíže vyřeší.Uninstalling third-party network filter drivers typically fixes the issue. Případně můžete spustit emulátor pomocí/DisableRIO, který přepne síťovou komunikaci emulátoru na normální rozhraní Winsock.Alternatively, start the emulator with /DisableRIO, which will switch the emulator network communication to regular Winsock.

  • Pokud emulátor běží, když počítač přechází do režimu spánku nebo instaluje nějaké aktualizace operačního systému, může se zobrazit zpráva, že služba momentálně není dostupná.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. Obnovte data emulátoru tak, že kliknete pravým tlačítkem na ikonu, která se zobrazuje v oznamovacím panelu Windows, a vyberete resetovat data.Reset the emulator's data, by right-clicking on the icon that appears on the windows notification tray and select Reset Data.

Shromažďování trasovacích souborůCollect trace files

Pokud chcete shromažďovat trasovací soubory pro ladění, spusťte z příkazového řádku pro správu následující příkazy:To collect debugging traces, run the following commands from an administrative command prompt:

  1. cd /d "%ProgramFiles%\Azure Cosmos DB Emulator"
  2. Microsoft.Azure.Cosmos.Emulator.exe /shutdown.Microsoft.Azure.Cosmos.Emulator.exe /shutdown. Sledujte hlavní panel systému a ujistěte se, že program je vypnutý. Může to chvíli trvat.Watch the system tray to make sure the program has shut down, it may take a minute. V uživatelském rozhraní emulátoru Azure Cosmos můžete taky jenom kliknout na konec .You can also just click Exit in the Azure Cosmos Emulator user interface.
  3. Microsoft.Azure.Cosmos.Emulator.exe /startwprtraces
  4. Microsoft.Azure.Cosmos.Emulator.exe
  5. Reprodukujte problém.Reproduce the problem. Pokud Průzkumník dat nefunguje, stačí několik sekund čekat na otevření prohlížeče a zachytit chybu.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. Microsoft.Azure.Cosmos.Emulator.exe /stopwprtraces
  7. Přejděte do složky %ProgramFiles%\Azure Cosmos DB Emulator a vyhledejte soubor docdbemulator_000001.etl.Navigate to %ProgramFiles%\Azure Cosmos DB Emulator and find the docdbemulator_000001.etl file.
  8. Otevřete lístek podpory v Azure Portal a přidejte soubor. ETL spolu s postupem reprodukci.Open a support ticket in the Azure portal and include the .etl file along with repro steps.

Odinstalace místního emulátoruUninstall the local emulator

  1. Zavřete všechny otevřené instance místního emulátoru tak, že kliknete pravým tlačítkem na ikonu emulátoru Azure Cosmos na hlavním panelu a pak kliknete na Zavřít.Exit all open instances of the local emulator by right-clicking the Azure Cosmos Emulator icon on the system tray, and then clicking Exit. Ukončení všech instancí může chvíli trvat.It may take a minute for all instances to exit.
  2. Do vyhledávacího pole ve Windows zadejte Programy a funkce a klikněte na výsledek Programy a funkce (nastavení systému).In the Windows search box, type Apps & features and click on the Apps & features (System settings) result.
  3. V seznamu aplikací se posuňte na položku Azure Cosmos DB Emulator, vyberte ji, klikněte na Odinstalovat, potvrďte a znovu klikněte na Odinstalovat.In the list of apps, scroll to Azure Cosmos DB Emulator, select it, click Uninstall, then confirm and click Uninstall again.
  4. Když je aplikace odinstalovaná, přejděte do složky %LOCALAPPDATA%\CosmosDBEmulator a odstraňte ji.When the app is uninstalled, navigate to %LOCALAPPDATA%\CosmosDBEmulator and delete the folder.

Další krokyNext steps

V tomto kurzu jste zjistili, jak používat místní emulátor pro bezplatný místní vývoj.In this tutorial, you've learned how to use the local emulator for free local development. Teď můžete přejít k dalšímu kurzu a Naučte se exportovat certifikáty TLS/SSL emulátoru.You can now proceed to the next tutorial and learn how to export emulator TLS/SSL certificates.