Yerel geliştirme ve test için Azure Cosmos öykünücüsü 'nü yükleyip kullanınInstall and use the Azure Cosmos emulator for local development and testing

Azure Cosmos öykünücüsü, Azure Cosmos DB hizmetini geliştirme amacıyla taklit eden bir yerel 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, Azure aboneliği oluşturmadan veya herhangi bir ücret ödemeden uygulamanızı yerel olarak geliştirebilir ve test edebilirsiniz.Using the Azure Cosmos emulator, you can develop and test your application locally, without creating an Azure subscription or incurring any costs. Uygulamanızın Azure Cosmos öykünücüsünde nasıl çalıştığı konusunda memnun kaldığınızda, bulutta bir Azure Cosmos hesabı kullanarak geçiş yapabilirsiniz.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. Bu makalede, Emulator 'un Windows, Linux, macOS ve Windows Docker ortamlarında nasıl yükleneceği ve kullanılacağı açıklanmaktadır.This article describes how to install and use the emulator on Windows, Linux, macOS, and Windows docker environments.

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

Başlamak için, yerel bilgisayarınıza Azure Cosmos öykünücüsü ' nin en son sürümünü indirin ve yükleyin.To get started, download and install the latest version of Azure Cosmos emulator on your local computer. Öykünücü sürüm notları makalesinde, her yayında yapılan tüm kullanılabilir sürümler ve özellik güncelleştirmeleri listelenir.The emulator release notes article lists all the available versions and the feature updates that were made in each release.

Azure Cosmos öykünücüsünü indirin

SQL, Cassandra, MongoDB, Gremlinve tablo API hesaplarıyla Azure Cosmos öykünücüsü 'nü kullanarak uygulamalar geliştirebilirsiniz.You can develop applications using Azure Cosmos emulator with the SQL, Cassandra, MongoDB, Gremlin, and Table API accounts. Şu anda öykünücüsünde bulunan Veri Gezgini yalnızca SQL verilerini görüntülemeyi tamamen destekler; MongoDB, Gremlin/Graph ve Cassandra istemci uygulamaları kullanılarak oluşturulan veriler şu anda görüntülenemez.Currently the data explorer in the emulator fully supports viewing SQL data only; the data created using MongoDB, Gremlin/Graph and Cassandra client applications it is not viewable at this time. Daha fazla bilgi edinmek için bkz. farklı API 'lerden öykünücü uç noktasına bağlanma .To learn more, see how to connect to the emulator endpoint from different APIs.

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

Azure Cosmos öykünücüsü Azure Cosmos DB hizmeti için yüksek uygunlukta bir öykünme sağlar.The Azure Cosmos emulator provides a high-fidelity emulation of the Azure Cosmos DB service. Veri oluşturma, veri sorgulama, kapsayıcıları hazırlama ve ölçekleme ve saklı yordamları ve Tetikleyicileri yürütme dahil olmak üzere Azure Cosmos DB olarak eşdeğer işlevleri destekler.It supports equivalent functionality as the Azure Cosmos DB, which includes creating data, querying data, provisioning and scaling containers, and executing stored procedures and triggers. Azure Cosmos öykünücüsünü kullanarak uygulamalar geliştirebilir ve test edebilir ve Azure Cosmos DB bağlantı uç noktasını güncelleştirerek bunları küresel ölçekte Azure 'a dağıtabilirsiniz.You can develop and test applications using the Azure Cosmos emulator, and deploy them to Azure at global scale by updating the Azure Cosmos DB connection endpoint.

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ısına, okuma/yazma işlemleri için tek basamaklı milisaniyelik gecikme süresine ve bu öykünücü kullandığınızda, ayarlanabilir tutarlılık düzeylerine bağlı olan işlevler geçerli değildir.Functionality that relies on the Azure infrastructure like global replication, single-digit millisecond latency for reads/writes, and tunable consistency levels are not applicable when you use the emulator.

Azure Cosmos DB veri geçiş aracınıkullanarak Azure Cosmos öykünücüsü ile Azure Cosmos DB hizmeti arasında veri geçirebilirsiniz.You can migrate data between the Azure Cosmos emulator and the Azure Cosmos DB service by using the Azure Cosmos DB Data Migration Tool.

Öykünücü ve bulut hizmeti arasındaki farklarDifferences between the emulator and the cloud service

Azure Cosmos öykünücüsü yerel geliştirici iş istasyonunda çalışan bir Öykünülmüş ortam sağladığından, öykünücü ve buluttaki bir Azure Cosmos hesabı arasındaki işlevlerde bazı farklılıklar vardır:Because the Azure Cosmos emulator provides an emulated environment that runs on the local developer workstation, there are some differences in functionality between the emulator and an Azure Cosmos account in the cloud:

  • Şu anda öykünücüsünde Veri Gezgini BÖLMESI yalnızca SQL API istemcilerini desteklemektedir.Currently the Data Explorer pane in the emulator fully supports SQL API clients only. MongoDB, Table, Graph ve Cassandra API 'Leri gibi Azure Cosmos DB API 'Ler için Veri Gezgini görünümü ve işlemleri 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.

  • Öykünücü yalnızca tek bir sabit hesabı ve iyi bilinen bir birincil anahtarı destekler.The emulator supports only a single fixed account and a well-known primary key. Azure Cosmos öykünücüsü 'nü kullanırken anahtarı yeniden oluşturamazsınız, ancak komut satırı seçeneğini kullanarak varsayılan anahtarı değiştirebilirsiniz.You can't regenerate key when using the Azure Cosmos emulator, however you can change the default key by using the command-line option.

  • Öykünücü ile yalnızca sağlanan aktarım hızı modunda bir Azure Cosmos hesabı oluşturabilirsiniz; Şu anda sunucusuz modunu desteklemiyor.With the emulator, you can create an Azure Cosmos account in provisioned throughput mode only; currently it doesn't support serverless mode.

  • Öykünücü ölçeklenebilir bir hizmet değildir ve çok sayıda kapsayıcıyı desteklemez.The emulator is not a scalable service and it doesn't support a large number of containers. Azure Cosmos öykünücüsü 'nü kullanırken, varsayılan olarak, 400 RU/sn (yalnızca Azure Cosmos DB SDK 'lar kullanılarak desteklenir) veya 5 sınırsız kapsayıcı için en fazla 25 sabit boyut kapsayıcısı oluşturabilirsiniz.When using the Azure Cosmos emulator, by default, you can create up to 25 fixed size containers at 400 RU/s (only supported using Azure Cosmos DB SDKs), or 5 unlimited containers. Bu değeri değiştirme hakkında daha fazla bilgi için bkz. PartitionCount değeri ayarlama makalesi.For more information on how to change this value, see Set the PartitionCount value article.

  • Öykünücü, bulut hizmeti gibi farklı Azure Cosmos DB tutarlılığı düzeyi sunmaz.The emulator does not offer different Azure Cosmos DB consistency levels like the cloud service does.

  • Öykünücü çok bölgeli çoğaltmasunmaz.The emulator does not offer multi-region replication.

  • Azure Cosmos öykünücünüzün kopyasının Azure Cosmos DB hizmetindeki en son değişiklikler ile her zaman güncel olmayabilir, uygulamanızın aktarım hızı (ru) ihtiyaçlarını doğru şekilde tahmin etmek için her zaman Azure Cosmos DB kapasite planlayıcıya başvurmalısınız.Because the copy of your Azure Cosmos emulator might not always be up to date with the most recent changes in the Azure Cosmos DB service, you should always refer to the Azure Cosmos DB capacity planner to accurately estimate the throughput (RUs) needs of your application.

  • Öykünücü 254 karakterlik maksimum KIMLIK özelliği boyutunu destekler.The emulator supports a maximum ID property size of 254 characters.

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

Öykünücüyü yüklemeden önce, aşağıdaki donanım ve yazılım gereksinimlerine sahip olduğunuzdan emin olun:Before you install the emulator, make sure you have the following hardware and software requirements:

  • Yazılım gereksinimleri:Software requirements:

    • Şu anda Windows Server 2012 R2, Windows Server 2016, 2019 veya Windows 8, 10 ana bilgisayar işletim sistemi destekleniyor.Currently Windows Server 2012 R2, Windows Server 2016, 2019 or Windows 8, 10 host OS are supported. Active Directory etkinleştirilmiş konak işletim sistemi şu anda desteklenmiyor.The host OS with Active Directory enabled is currently not supported.
    • 64 bit işletim sistemi64-bit operating system
  • En düşük donanım gereksinimleri:Minimum hardware requirements:

    • 2-GB RAM2-GB RAM
    • 10 GB kullanılabilir sabit disk alanı10-GB available hard disk space
  • Azure Cosmos öykünücüsü 'nü yüklemek, yapılandırmak ve çalıştırmak için bilgisayarda yönetici ayrıcalıklarına sahip olmanız gerekir.To install, configure, and run the Azure Cosmos emulator, you must have administrative privileges on the computer. Öykünücü, bir sertifika ekleyecek ve ayrıca hizmetlerini çalıştırmak için güvenlik duvarı kurallarını ayarlamış olur.The emulator will add a certificate and also set the firewall rules in order to run its services. Bu nedenle, öykünücüsünün bu tür işlemleri yürütebilmesi için yönetici hakları gereklidir.Therefore admin rights are necessary for the emulator to be able to execute such operations.

Başlamak için, yerel bilgisayarınıza Azure Cosmos öykünücüsü ' nin en son sürümünü indirin ve yükleyin.To get started, download and install the latest version of Azure Cosmos emulator on your local computer. Öykünücüyü yüklerken herhangi bir sorunla karşılaşırsanız hata ayıklama için öykünücü sorun giderme makalesine bakın.If you run into any issues when installing the emulator, see the emulator troubleshooting article to debug.

Sistem gereksinimlerinize bağlı olarak, bu makalenin sonraki bölümlerinde açıklandığı gibi öykünücü 'yı Windows, Docker for Windows, Linux veya MacOS üzerinde çalıştırabilirsiniz.Depending upon your system requirements, you can run the emulator on Windows, Docker for Windows, Linux, or macOS as described in next sections of this article.

Öykünücü güncelleştirmelerini denetleCheck for emulator updates

Her öykünücü sürümü bir özellik güncelleştirmeleri veya hata düzeltmeleri kümesiyle gelir.Each version of emulator comes with a set of feature updates or bug fixes. Kullanılabilir sürümleri görmek için öykünücü sürüm notları makalesini okuyun.To see the available versions, read the emulator release notes article.

Yükleme sonrasında, varsayılan ayarları kullandıysanız öykünücüye karşılık gelen veriler%LOCALAPPDATA%\CosmosDBEmulator konumunda kaydedilir.After installation, if you have used the default settings, the data corresponding to the emulator is saved at %LOCALAPPDATA%\CosmosDBEmulator location. İsteğe bağlı veri yolu ayarlarını kullanarak farklı bir konum yapılandırabilirsiniz; Bu, /DataPath=PREFERRED_LOCATION komut satırı parametresiolarak olur.You can configure a different location by using the optional data path settings; that is the /DataPath=PREFERRED_LOCATION as the command-line parameter. Azure Cosmos öykünücüsünün bir sürümünde oluşturulan verilerin farklı bir sürüm kullanılırken erişilebilir olmaması garanti edilmez.The data created in one version of the Azure Cosmos emulator is not guaranteed to be accessible when using a different version. Verilerinizi uzun vadede kalıcı hale getirmeniz gerekiyorsa, bu verileri Azure Cosmos öykünücüsü yerine bir Azure Cosmos hesabında depolamanı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, instead of the Azure Cosmos emulator.

Windows üzerinde öykünücü kullanmaUse the emulator on Windows

Azure Cosmos öykünücüsü, C:\Program Files\Azure Cosmos DB Emulator Varsayılan olarak konuma yüklenir.The Azure Cosmos emulator is installed at C:\Program Files\Azure Cosmos DB Emulator location by default. Windows üzerinde Azure Cosmos öykünücüsü 'nü başlatmak için Başlat düğmesini seçin veya Windows tuşuna basın.To start the Azure Cosmos emulator on Windows, select the Start button or press the Windows key. Azure Cosmos öykünücüsüyazmaya başlayın ve uygulama listesinden öykünücü ' ı seçin.Begin typing Azure Cosmos Emulator, and select the emulator from the list of applications.

Başlat düğmesini seçin veya Windows tuşuna basın, Azure Cosmos öykünücüsü yazmaya başlayın ve uygulama listesinden öykünücü ' ı seçin

Öykünücü başladığında Windows görev çubuğu bildirim alanında bir simge görürsünüz.When the emulator has started, you'll see an icon in the Windows taskbar notification area. Bu URL URL 'sindeki tarayıcınızda Azure Cosmos Veri Gezgini 'ni otomatik olarak açar https://localhost:8081/_explorer/index.html .It automatically opens the Azure Cosmos data explorer in your browser at this URL https://localhost:8081/_explorer/index.html URL.

Başlat düğmesini seçin veya Windows tuşuna basın, Azure Cosmos öykünücüsü yazmaya başlayın ve uygulama listesinden öykünücü ' ı seçin

Ayrıca, öykünücüsü komut satırı veya PowerShell komutlarıyla başlatabilir ve durdurabilirsiniz.You can also start and stop the emulator from the command-line or PowerShell commands. Daha fazla bilgi için bkz. komut satırı aracı başvuru makalesi.For more information, see the command-line tool reference article.

Azure Cosmos öykünücüsü, bağlantı noktası 8081 ' ü dinleyen yerel makinede ("localhost") varsayılan olarak çalışır.The Azure Cosmos emulator by default runs on the local machine ("localhost") listening on port 8081. Adres, https://localhost:8081/_explorer/index.html olarak görüntülenir.The address appears as https://localhost:8081/_explorer/index.html. Gezgin 'i kapatır ve daha sonra yeniden açmak isterseniz, URL 'YI tarayıcınızda açabilir veya aşağıda gösterildiği gibi Windows tepsi simgesindeki Azure Cosmos öykünücüsünde başlatabilirsiniz.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.

Başlat düğmesini seçin veya Windows tuşuna basın, Azure Cosmos öykünücüsü yazmaya başlayın ve uygulama listesinden öykünücü ' ı seçin

Docker for Windows üzerinde öykünücü kullanınUse the emulator on Docker for Windows

Azure Cosmos öykünücüsü 'nü Windows Docker kapsayıcısında çalıştırabilirsiniz.You can run the Azure Cosmos emulator on the Windows Docker container. Docker pull komutu için Docker Hub 'ına GitHub Dockerfile ve daha fazla bilgi için GitHub ' a bakın.See the Docker Hub for the docker pull command and GitHub for the Dockerfile and more information. Şu anda öykünücü Oracle Linux için Docker üzerinde çalışmıyor.Currently the emulator does not work on Docker for Oracle Linux. Docker for Windows üzerinde öykünücü çalıştırmak için aşağıdaki yönergeleri kullanın:Use the following instructions to run the emulator on Docker for Windows:

  1. Docker for Windows yükledikten sonra, araç çubuğundaki Docker simgesine sağ tıklayıp Windows kapsayıcılarına geç' i seçerek Windows kapsayıcılarına geçiş yapın.After 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.

  2. 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 mcr.microsoft.com/cosmosdb/windows/azure-cosmos-emulator
    
  3. Görüntüyü başlatmak için komut satırına veya PowerShell ortamına bağlı olarak aşağıdaki komutları çalıştırın:To start the image, run the following commands depending on the command line or the PowerShell environment:

    
    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
    

    Windows tabanlı Docker görüntüleri, her Windows ana bilgisayar işletim sistemi ile genel olarak uyumlu olmayabilir.Windows based Docker images might not be generally compatible with every Windows host OS. Örneğin, varsayılan Azure Cosmos öykünücü görüntüsü yalnızca Windows 10 ve Windows Server 2016 ile uyumludur.For instance, the default Azure Cosmos emulator image is only compatible with Windows 10 and Windows Server 2016. Windows Server 2019 ile uyumlu bir görüntüye ihtiyacınız varsa, bunun yerine aşağıdaki komutu çalıştırın:If you need an image that is compatible with Windows Server 2019, run the following command instead:

    docker run --name azure-cosmosdb-emulator --memory 2GB --mount "type=bind,source=%hostDirectory%,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/winsrv2019/azure-cosmos-emulator:latest
    

    Not

    docker runKomutu yürütürken bir bağlantı noktası çakışması hatası görürseniz (belirtilen bağlantı noktası zaten kullanımda ise), bağlantı noktası numaralarını değiştirerek özel bir bağlantı noktası geçirin.When executing the docker run command, if you see a port conflict error (that is if the specified port is already in use), pass a custom port by altering the port numbers. Örneğin, "-p 8081:8081" parametresini "-p 443:8081" olarak değiştirebilirsinizFor example, you can change the "-p 8081:8081" parameter to "-p 443:8081"

  4. Şimdi, yanıttaki öykünücü uç noktasını ve birincil anahtarı kullanın ve TLS/SSL sertifikasını ana bilgisayarınıza aktarın.Now use the emulator endpoint and primary key from the response and import the TLS/SSL certificate into your host. TLS/SSL sertifikasını içeri aktarmak için yönetici komut isteminden aşağıdaki adımları çalıştırın:To import the TLS/SSL certificate, run the following steps from an admin command prompt:

    cd  %LOCALAPPDATA%\CosmosDBEmulator\bind-mount
    powershell .\importcert.ps1
    
  5. Öykünücü başlatıldıktan sonra etkileşimli kabuğu kapatırsanız, öykünücü kapsayıcısını kapatır.If you close the interactive shell after the emulator has started, it will shut down the emulator's container. Veri Gezgini 'ni yeniden açmak için tarayıcınızda aşağıdaki URL 'ye gidin.To reopen 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

Linux Docker kapsayıcısında çalışan bir .NET istemci uygulamanız varsa ve bir konak makinesinde Azure Cosmos öykünücüsü çalıştırıyorsanız, sertifikayı Linux Docker kapsayıcısına aktarmak için sonraki bölümde yer alan yönergeleri kullanın.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, use the instructions in the next section to import the certificate into the Linux docker container.

Bir Docker kapsayıcısında çalışırken öykünücü sertifikalarını yeniden üretRegenerate the emulator certificates when running on a Docker container

Öykünücü bir Docker kapsayıcısında çalıştırılırken, öykünücü ile ilişkili sertifikalar, ilgili kapsayıcıyı her durdurup yeniden başlattığınızda yeniden oluşturulur.When running the emulator in a Docker container, the certificates associated with the emulator are regenerated every time you stop and restart the respective container. Bu nedenle, her bir kapsayıcı başladıktan sonra sertifikaları yeniden içeri aktarmanız gerekir.Because of that you have to re-import the certificates after each container start. Bu sınırlamaya geçici bir çözüm olarak, Docker kapsayıcısını belirli bir IP adresine ve kapsayıcı görüntüsüne bağlamak için bir Docker Compose dosyası kullanabilirsiniz.To work around this limitation, you can use a Docker compose file to bind the Docker container to a particular IP address and a container image.

Örneğin, Docker Compose dosyası içinde aşağıdaki yapılandırmayı kullanabilirsiniz, bunu gereksiniminize göre biçimlendirmeniz gerekir:For example, you can use the following configuration within the Docker compose file, make sure to format it per your requirement:

version: '2.4' # Do not upgrade to 3.x yet, unless you plan to use swarm/docker stack: https://github.com/docker/compose/issues/4513

networks:
  default:
    external: false
    ipam:
      driver: default
      config:
        - subnet: "172.16.238.0/24"

services:

  # First create a directory that will hold the emulator traces and certificate to be imported
  # set hostDirectory=C:\emulator\bind-mount
  # mkdir %hostDirectory%

  cosmosdb:
    container_name: "azurecosmosemulator"
    hostname: "azurecosmosemulator"
    image: 'mcr.microsoft.com/cosmosdb/windows/azure-cosmos-emulator'
    platform: windows
    tty: true
    mem_limit: 3GB
    ports:
        - '8081:8081'
        - '8900:8900'
        - '8901:8901'
        - '8902:8902'
        - '10250:10250'
        - '10251:10251'
        - '10252:10252'
        - '10253:10253'
        - '10254:10254'
        - '10255:10255'
        - '10256:10256'
        - '10350:10350'
    networks:
      default:
        ipv4_address: 172.16.238.246
    volumes:
        - '${hostDirectory}:C:\CosmosDB.Emulator\bind-mount'

Linux veya macOS üzerinde öykünücü kullanmaUse the emulator on Linux or macOS

Şu anda Azure Cosmos öykünücüsü yalnızca Windows 'da çalıştırılabilir.Currently the Azure Cosmos emulator can only be run on Windows. Linux veya macOS kullanıyorsanız, öykünücüyü Parallels veya VirtualBox gibi bir Hiper yöneticide barındırılan bir Windows sanal makinesinde çalıştırabilirsiniz.If you are using Linux or macOS, you can run the emulator in a Windows virtual machine hosted in a hypervisor such as Parallels or VirtualBox.

Not

Bir Hiper yöneticide barındırılan Windows sanal makinesini her yeniden başlattığınızda, sanal makinenin IP adresi değiştiği için sertifikayı yeniden içeri aktarmanız gerekir.Every time you restart the Windows virtual machine that is hosted in a hypervisor, you have to reimport the certificate because the IP address of the virtual machine changes. Sanal makineyi IP adresini koruyacak şekilde yapılandırdıysanız sertifikayı içeri aktarma işlemi gerekli değildir.Importing the certificate isn't required in case you have configured the virtual machine to preserve the IP address.

Linux veya macOS ortamlarında öykünücüyü kullanmak için aşağıdaki adımları kullanın:Use the following steps to use the emulator on Linux or macOS environments:

  1. Windows sanal makinesinden aşağıdaki komutu çalıştırın ve IPv4 adresini bir yere göz önünde oluşturun:Run the following command from the Windows virtual machine and make a note of the IPv4 address:

    ipconfig.exe
    
  2. Uygulamanızın içinde, yerine tarafından döndürülen IPv4 adresini kullanmak için uç nokta URL 'sini değiştirin ipconfig.exe localhost .Within your application, change the endpoint URL to use the IPv4 address returned by ipconfig.exe instead of localhost.

  3. Windows VM 'de, aşağıdaki seçenekleri kullanarak komut satırından Azure Cosmos öykünücüsünü başlatın.From the Windows VM, launch the Azure Cosmos emulator from the command line using the following options. Komut satırı tarafından desteklenen parametrelerle ilgili ayrıntılar için bkz. öykünücü komut satırı aracı başvurusu:For details on the parameters supported by the command line, see the emulator command-line tool reference:

    Microsoft.Azure.Cosmos.Emulator.exe /AllowNetworkAccess /Key=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
    
  4. Son olarak, Linux veya Mac ortamında ve öykünücü üzerinde çalışan uygulama arasındaki sertifika güven sürecini çözmeniz gerekir.Finally, you need to resolve the certificate trust process between the application running on the Linux or Mac environment and the emulator. Sertifikayı çözümlemek için aşağıdaki iki seçenekten birini kullanabilirsiniz:You can use one of the following two options to resolve the certificate:

    1. ÖYKÜNÜCÜ TLS/SSL sertifikasını Linux veya Mac ortamına aktarın veyaImport the emulator TLS/SSL certificate into the Linux or Mac environment or
    2. Uygulamada TLS/SSL doğrulamasını devre dışı bırakmaDisable the TLS/SSL validation in the application

Seçenek 1: öykünücü TLS/SSL sertifikasını Içeri aktarmaOption 1: Import the emulator TLS/SSL certificate

Aşağıdaki bölümlerde, öykünücü TLS/SSL sertifikasının Linux ve macOS ortamlarına nasıl aktarılacağı gösterilmektedir.The following sections show how to import the emulator TLS/SSL certificate into Linux and macOS environments.

Linux ortamıLinux environment

Linux üzerinde çalışıyorsanız, doğrulama yapmak için OpenSSL üzerinde .NET geçişleri:If you are working on Linux, .NET relays on OpenSSL to do the validation:

  1. SERTIFIKAYı PFX biçiminde dışarı aktarın.Export the certificate in PFX format. PFX seçeneği, özel anahtarı dışarı aktarmaya seçerken kullanılabilir.The PFX option is available when choosing to export the private key.

  2. Bu PFX dosyasını Linux ortamınıza kopyalayın.Copy that PFX file into your Linux environment.

  3. PFX dosyasını CRT dosyasına DönüştürConvert the PFX file into a CRT file

    openssl pkcs12 -in YourPFX.pfx -clcerts -nokeys -out YourCTR.crt
    
  4. CRT dosyasını Linux dağılısdaki özel sertifikaları içeren klasöre kopyalayın.Copy the CRT file to the folder that contains custom certificates in your Linux distribution. Yaygın olarak, DEMIN dağıtımları üzerinde bulunur /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. Klasörü güncelleştirecek TLS/SSL sertifikalarını güncelleştirin /etc/ssl/certs/ .Update the TLS/SSL certificates, which will update the /etc/ssl/certs/ folder.

    update-ca-certificates
    

macOS ortamımacOS environment

Mac üzerinde çalışıyorsanız aşağıdaki adımları kullanın:Use the following steps if you are working on Mac:

  1. SERTIFIKAYı PFX biçiminde dışarı aktarın.Export the certificate in PFX format. PFX seçeneği, özel anahtarı dışarı aktarmaya seçerken kullanılabilir.The PFX option is available when choosing to export the private key.

  2. Bu PFX dosyasını Mac ortamınıza kopyalayın.Copy that PFX file into your Mac environment.

  3. Anahtarlık erişimi uygulamasını açın ve pfx dosyasını içeri aktarın.Open the Keychain Access application and import the PFX file.

  4. Sertifika listesini açın ve adı ile ayırt edin localhost .Open the list of Certificates and identify the one with the name localhost.

  5. Söz konusu öğe için bağlam menüsünü açın, öğeyi al ' ı seçin ve güvenaltında, > Bu sertifikayı kullanırken her zaman güven' i seçin.Open the context menu for that particular item, select Get Item and under Trust > When using this certificate option, select Always Trust.

    Başlat düğmesini seçin veya Windows tuşuna basın, Azure Cosmos öykünücüsü yazmaya başlayın ve uygulama listesinden öykünücü ' ı seçin

Seçenek 2: uygulamada SSL doğrulamasını devre dışı bırakmaOption 2: Disable the SSL validation in the application

SSL doğrulamasının devre dışı bırakılması yalnızca geliştirme amacıyla önerilir ve bir üretim ortamında çalıştırıldığında yapılmamalıdır.Disabling SSL validation is only recommended for development purposes and should not be done when running in a production environment. Aşağıdaki örneklerde, .NET ve Node.js uygulamaları için SSL doğrulamasının nasıl devre dışı bırakılacağı gösterilmektedir.The following examples show how to disable SSL validation for .NET and Node.js applications.

.NET Standard 2,1 veya üzeri sürümlerle uyumlu bir çerçevede çalışan tüm uygulamalar için şunları kullanabilirsiniz CosmosClientOptions.HttpClientFactory :For any application running in a framework compatible with .NET Standard 2.1 or later, we can leverage the CosmosClientOptions.HttpClientFactory:

CosmosClientOptions cosmosClientOptions = new CosmosClientOptions()
{
    HttpClientFactory = () =>
    {
        HttpMessageHandler httpMessageHandler = new HttpClientHandler()
        {
            ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator
        };

        return new HttpClient(httpMessageHandler);
    },
    ConnectionMode = ConnectionMode.Gateway
};


CosmosClient client = new CosmosClient(endpoint, authKey, cosmosClientOptions);

Yerel ağ üzerinde öykünücü erişimini etkinleştirEnable access to emulator on a local network

Tek bir ağ kullanan birden fazla makineniz varsa ve öykünücüyü bir makinede ayarlarsanız ve başka bir makineden erişmek istiyorsanız.If you have multiple machines using a single network, and if you set up the emulator on one machine and want to access it from other machine. Böyle bir durumda, yerel bir ağ üzerinde öykünücü erişimini etkinleştirmeniz gerekir.In such case, you need to enable access to the emulator 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şimini etkinleştirmek için, /AllowNetworkAccess ya da belirtmenizi gerektiren komut satırındaseçeneğini belirtin /Key=key_string /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. /GenKeyFile=file_nameRastgele bir anahtarla bir dosya oluşturmak için ' i kullanabilirsiniz.You can use /GenKeyFile=file_name to generate a file with a random key upfront. Daha sonra, veya öğesine geçirebilirsiniz /KeyFile=file_name /Key=contents_of_file .Then you can pass that to /KeyFile=file_name or /Key=contents_of_file.

Ağ erişimini ilk kez etkinleştirmek için, Kullanıcı öykünücüyü kapatıp öykünücü veri dizinini %LocalAppData%\cosmosdbemulatorolarak siler.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ü kullanırken bağlantı kimlik doğrulamasıAuthenticate connections when using emulator

Bulutta Azure Cosmos DB olduğu gibi, Azure Cosmos öykünücüsünde karşı yaptığınız her isteğin kimliği doğrulanmalıdır.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ü yalnızca TLS aracılığıyla güvenli iletişimi destekler.The Azure Cosmos emulator supports only secure communication via TLS. Azure Cosmos öykünücüsü, birincil anahtar kimlik doğrulaması için tek bir sabit hesabı ve iyi bilinen bir kimlik doğrulama anahtarını destekler.The Azure Cosmos emulator supports a single fixed account and a well-known authentication key for primary key authentication. Bu hesap ve anahtar, Azure Cosmos öykünücüsü ile kullanım 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 birincil anahtar, yalnızca öykünücü ile kullanılmaya yöneliktir.The primary key supported by the Azure Cosmos emulator is intended for use only with the emulator. Üretim Azure Cosmos DB hesabınızı ve anahtarınızı Azure Cosmos öykünücüsü ile kullanamazsınız.You cannot use your production Azure Cosmos DB account and key with the Azure Cosmos Emulator.

Not

Emulator 'u/Key seçeneğiyle başlattıysanız varsayılan anahtar 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 the default key C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==. /Key seçeneği hakkında daha fazla bilgi için bkz . komut satırı araç başvurusu.For more information about /Key option, see Command-line tool reference.

Öykünücü ile farklı API 'lere bağlanmaConnect to different APIs with the emulator

SQL APISQL API

Azure Cosmos öykünücüsünü masaüstünüzde çalışır olduktan sonra, öykünücüle etkileşim kurmak için desteklenen Azure Cosmos DB SDK veya Azure Cosmos DB REST API kullanabilirsiniz.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ü Ayrıca, Mongo DB API 'SI için SQL API veya Azure Cosmos DB kapsayıcıları oluşturmanıza olanak sağlayan yerleşik bir veri Gezgini içerir.The Azure Cosmos emulator also includes a built-in data explorer that lets you create containers for SQL API or Azure Cosmos DB for Mongo DB API. Veri Gezgini 'ni kullanarak, herhangi bir kod yazmadan öğeleri görüntüleyebilir ve düzenleyebilirsiniz.By using the data explorer, you can view and edit items without writing any code.

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

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

Azure Cosmos öykünücüsünü masaüstünüzde çalışır olduktan sonra, öykünücüle etkileşimde bulunmak için Azure Cosmos DB MongoDB IÇIN API 'sini kullanabilirsiniz.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. "/EnableMongoDbEndpoint" ile yönetici olarak komut isteminden öykünücü başlatın.Start the emulator from command prompt as an administrator with "/EnableMongoDbEndpoint". Daha sonra MongoDB API hesabına bağlanmak için aşağıdaki bağlantı dizesini kullanın: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

Tablo API’siTable API

Azure Cosmos öykünücüsünü masaüstünüzde çalışan bir kez etkinleştirdikten sonra, öykünücüle etkileşim kurmak için Azure Cosmos DB tablo API'si SDK 'sını kullanabilirsiniz.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. "/EnableTableEndpoint" ile yönetici olarak komut isteminden öykünücü başlatın.Start the emulator from command prompt as an administrator with "/EnableTableEndpoint". Daha sonra tablo API 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

"/EnableCassandraEndpoint" ile yönetici komut isteminden öykünücü başlatın.Start emulator from an administrator command prompt with "/EnableCassandraEndpoint". Alternatif olarak, ortam değişkenini de ayarlayabilirsiniz AZURE_COSMOS_EMULATOR_CASSANDRA_ENDPOINT=true .Alternatively you can also set the environment variable AZURE_COSMOS_EMULATOR_CASSANDRA_ENDPOINT=true.

  1. Python 2,7 'yi yüklerInstall Python 2.7

  2. Cassandra CLı/CSQLSH 'i yüklerInstall Cassandra CLI/CQLSH

  3. Normal bir 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
    
  4. CSQLSH kabuğu 'nda Cassandra uç noktasına 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

"/EnableGremlinEndpoint" ile yönetici komut istemindenöykünücü başlatın.Start emulator from an administrator command promptwith "/EnableGremlinEndpoint". Alternatif olarak, ortam değişkenini de belirleyebilirsiniz AZURE_COSMOS_EMULATOR_GREMLIN_ENDPOINT=trueAlternatively you can also set the environment variable AZURE_COSMOS_EMULATOR_GREMLIN_ENDPOINT=true

  1. Apache-tinkerpop-Gremlin-Console-3.3.4' i yükler.Install apache-tinkerpop-gremlin-console-3.3.4.

  2. Öykünücü Veri Gezgini ' nden bir veritabanı "DB1" ve "coll1" koleksiyonu oluşturun. bölüm anahtarı için "/Name" öğesini seçinFrom the emulator's data explorer create a database "db1" and a collection "coll1"; for the partition key, choose "/name"

  3. Normal bir 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
    
  4. Gremlin kabuğu 'nda Gremlin uç noktasına 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()
    

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

Öykünücüyü kaldırmak için aşağıdaki adımları kullanın:Use the following steps to uninstall the emulator:

  1. Sistem tepsisindeki Azure Cosmos öykünücü simgesine sağ tıklayıp Çıkış' ı seçerek yerel öykünücüsünün tüm açık örneklerinden çıkın.Exit all the open instances of the local emulator by right-clicking the Azure Cosmos emulator icon on the system tray, and then select Exit. Tüm örneklerin çıkması bir dakika sürebilir.It may take a minute for all instances to exit.

  2. Windows Arama kutusuna uygulamalar & Özellikler yazın ve uygulamalar & Özellikler (sistem ayarları) sonucu ' nı seçin.In the Windows search box, type Apps & features and select Apps & features (System settings) result.

  3. Uygulamalar listesinde Azure Cosmos DB öykünücüsü' ne gidin, seçin, Kaldır' ı tıklatın ve ardından yeniden Kaldır ' ı seçin.In the list of apps, scroll to the Azure Cosmos DB Emulator, select it, click Uninstall, then confirm and select Uninstall again.

Sonraki adımlarNext steps

Bu makalede, yerel öykünücüyü ücretsiz yerel geliştirme için nasıl kullanacağınızı öğrendiniz.In this article, you've learned how to use the local emulator for free local development. Şimdi bir sonraki makaleye devam edebilirsiniz:You can now proceed to the next articles: