De Azure Cosmos DB-emulator installeren en gebruiken voor lokale ontwikkeling en testsInstall and use the Azure Cosmos DB Emulator for local development and testing

VAN TOEPASSING OP: SQL-API Cassandra-API Gremlin-API Table-API Azure Cosmos DB-API voor MongoDB

De Azure Cosmos DB Emulator is een lokale omgeving waarin de Azure Cosmos DB-service wordt geëmuleerd voor ontwikkelingsdoeleinden.The Azure Cosmos DB Emulator provides a local environment that emulates the Azure Cosmos DB service for development purposes. Met behulp van de Azure Cosmos DB Emulator kunt u uw toepassing lokaal ontwikkelen en testen, kosteloos en zonder een Azure-abonnement te maken.Using the Azure Cosmos DB Emulator, you can develop and test your application locally, without creating an Azure subscription or incurring any costs. Wanneer u tevreden bent over hoe uw toepassing werkt in de Azure Cosmos DB-emulator, kunt u overschakelen naar het gebruik van een Azure Cosmos-account in de Cloud.When you're satisfied with how your application is working in the Azure Cosmos DB Emulator, you can switch to using an Azure Cosmos account in the cloud. In dit artikel wordt beschreven hoe u de emulator installeert en gebruikt in Windows-, Linux-, macOS-en Windows docker-omgevingen.This article describes how to install and use the emulator on Windows, Linux, macOS, and Windows docker environments.

De emulator downloadenDownload the emulator

Down load en installeer de nieuwste versie van Azure Cosmos DB emulator op uw lokale computer om aan de slag te gaan.To get started, download and install the latest version of Azure Cosmos DB Emulator on your local computer. In het artikel over de release van de emulator wordt een lijst weer gegeven met alle beschik bare versies en de functie-updates die in elke release zijn aangebracht.The emulator release notes article lists all the available versions and the feature updates that were made in each release.

De Azure Cosmos DB-emulator downloaden

U kunt toepassingen ontwikkelen met behulp van Azure Cosmos DB emulator met de SQL-, Cassandra-, MongoDb-, Gremlin-en Table -API-accounts.You can develop applications using Azure Cosmos DB Emulator with the SQL, Cassandra, MongoDB, Gremlin, and Table API accounts. De Data Explorer in de emulator biedt momenteel alleen ondersteuning voor het weer geven van SQL-gegevens. de gegevens die zijn gemaakt met behulp van MongoDB, Gremlin/Graph en Cassandra-client toepassingen, worden op dit moment niet weer gegeven.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. Zie verbinding maken met het Emulator-eind punt vanaf verschillende api's voor meer informatie.To learn more, see how to connect to the emulator endpoint from different APIs.

Hoe werkt de emulator?How does the emulator work?

De Azure Cosmos DB Emulator biedt een hoogwaardige emulatie van de Azure Cosmos DB-service.The Azure Cosmos DB Emulator provides a high-fidelity emulation of the Azure Cosmos DB service. Het ondersteunt gelijkwaardige functionaliteit als de Azure Cosmos DB, waaronder het maken van gegevens, het opvragen van gegevens, het inrichten en schalen van containers en het uitvoeren van opgeslagen procedures en triggers.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. U kunt toepassingen ontwikkelen en testen met behulp van de Azure Cosmos DB emulator en deze implementeren in azure op wereld wijde schaal door het Azure Cosmos DB verbindings eindpunt bij te werken.You can develop and test applications using the Azure Cosmos DB Emulator, and deploy them to Azure at global scale by updating the Azure Cosmos DB connection endpoint.

Emulatie van de Azure Cosmos DB-service is zeer betrouwbaar, maar de implementatie van de emulator is anders dan die van de service.While emulation of the Azure Cosmos DB service is faithful, the emulator's implementation is different than the service. De emulator gebruikt bijvoorbeeld standaardbesturingssysteemonderdelen, zoals het lokale bestandssysteem voor persistentie en de HTTPS-protocolstack voor connectiviteit.For example, the emulator uses standard OS components such as the local file system for persistence, and the HTTPS protocol stack for connectivity. Functionaliteit die afhankelijk is van de Azure-infra structuur, zoals globale replicatie, latentie in milliseconden voor lees-en schrijf bewerkingen en instel bare consistentie niveaus zijn niet van toepassing wanneer u de emulator gebruikt.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.

U kunt gegevens migreren tussen de Azure Cosmos DB emulator en de Azure Cosmos DB-service met behulp van het hulp programma voor gegevens migratie Azure Cosmos DB.You can migrate data between the Azure Cosmos DB Emulator and the Azure Cosmos DB service by using the Azure Cosmos DB Data Migration Tool.

Verschillen tussen de emulator en de Cloud serviceDifferences between the emulator and the cloud service

Omdat de Azure Cosmos DB-emulator een geëmuleerde omgeving biedt die wordt uitgevoerd op het lokale werk station van de ontwikkel aars, zijn er enkele verschillen in de functionaliteit van de emulator en een Azure Cosmos-account in de Cloud:Because the Azure Cosmos DB 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:

  • Momenteel wordt in het deel venster Data Explorer van de emulator volledig alleen SQL API-clients ondersteund.Currently the Data Explorer pane in the emulator fully supports SQL API clients only. De Data Explorer weer gave en bewerkingen voor Azure Cosmos DB-api's, zoals MongoDb-, Table-, Graph-en Cassandra-api's, worden niet volledig ondersteund.The Data Explorer view and operations for Azure Cosmos DB APIs such as MongoDB, Table, Graph, and Cassandra APIs are not fully supported.

  • De emulator ondersteunt slechts één vast account en een bekende primaire sleutel.The emulator supports only a single fixed account and a well-known primary key. U kunt de sleutel niet opnieuw genereren wanneer u de Azure Cosmos DB-emulator gebruikt, maar de standaard sleutel kan echter worden gewijzigd met behulp van de opdracht regel optie.You can't regenerate key when using the Azure Cosmos DB Emulator, however you can change the default key by using the command-line option.

  • Met de emulator kunt u alleen een Azure Cosmos-account maken in de ingerichte doorvoer modus. Er wordt momenteel geen serverloze modus ondersteund.With the emulator, you can create an Azure Cosmos account in provisioned throughput mode only; currently it doesn't support serverless mode.

  • De emulator is geen schaal bare service en biedt geen ondersteuning voor een groot aantal containers.The emulator is not a scalable service and it doesn't support a large number of containers. Wanneer u de Azure Cosmos DB-emulator gebruikt, kunt u standaard Maxi maal 25 containers met een vaste grootte maken op 400 RU/s (alleen ondersteund met behulp van Azure Cosmos DB Sdk's) of 5 onbeperkte containers.When using the Azure Cosmos DB 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. Zie het artikel PartitionCount value instellen voor meer informatie over het wijzigen van deze waarde.For more information on how to change this value, see Set the PartitionCount value article.

  • De emulator biedt geen verschillende Azure Cosmos DB consistentie niveaus , zoals de Cloud service.The emulator does not offer different Azure Cosmos DB consistency levels like the cloud service does.

  • De emulator biedt geen replicatie voor meerdere regio's.The emulator does not offer multi-region replication.

  • Omdat de kopie van uw Azure Cosmos DB-emulator mogelijk niet altijd up-to-date is met de meest recente wijzigingen in de Azure Cosmos DB-Service, moet u altijd verwijzen naar de Azure Cosmos DB capacity planner om nauw keurige schatting te maken van de door Voer (RUs)-vereisten van uw toepassing.Because the copy of your Azure Cosmos DB 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.

  • De emulator ondersteunt een maximale ID-eigenschap van 254 tekens.The emulator supports a maximum ID property size of 254 characters.

De emulator installerenInstall the emulator

Controleer voordat u de emulator installeert of u over de volgende hardware-en software vereisten beschikt:Before you install the emulator, make sure you have the following hardware and software requirements:

  • Software vereisten:Software requirements:

    • Momenteel wordt het besturings systeem Windows Server 2016, 2019 of Windows 10 host ondersteund.Currently Windows Server 2016, 2019 or Windows 10 host OS are supported. Het besturings systeem voor de host met Active Directory ingeschakeld wordt momenteel niet ondersteund.The host OS with Active Directory enabled is currently not supported.
    • 64-bits besturingssysteem64-bit operating system
  • Minimale hardwarevereisten:Minimum hardware requirements:

    • 2 GB RAM2-GB RAM
    • 10 GB beschikbare schijfruimte10-GB available hard disk space
  • Als u de Azure Cosmos DB Emulator wilt installeren, configureren en uitvoeren, moet u beheerdersbevoegdheden hebben op de computer.To install, configure, and run the Azure Cosmos DB Emulator, you must have administrative privileges on the computer. De emulator voegt een certificaat toe en stelt ook de firewall regels in om de services uit te voeren.The emulator will add a certificate and also set the firewall rules in order to run its services. Daarom zijn beheerders rechten nodig voor de emulator om dergelijke bewerkingen uit te kunnen voeren.Therefore admin rights are necessary for the emulator to be able to execute such operations.

Down load en installeer de nieuwste versie van Azure Cosmos DB emulator op uw lokale computer om aan de slag te gaan.To get started, download and install the latest version of Azure Cosmos DB Emulator on your local computer. Als u problemen ondervindt bij het installeren van de emulator, raadpleegt u het artikel over het oplossen van problemen met de emulator voor fout opsporing.If you run into any issues when installing the emulator, see the emulator troubleshooting article to debug.

Afhankelijk van uw systeem vereisten kunt u de emulator uitvoeren op Windows, docker voor Windows, Linux of macOS, zoals beschreven in de volgende secties van dit artikel.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.

Controleren op emulator-updatesCheck for emulator updates

Elke versie van de emulator wordt geleverd met een set functie-updates of oplossingen voor fouten.Each version of emulator comes with a set of feature updates or bug fixes. Lees het artikel over de opmerkingen met de emulator-versie voor meer informatie over de beschik bare versies.To see the available versions, read the emulator release notes article.

Als u na de installatie de standaard instellingen hebt gebruikt, worden de gegevens die overeenkomen met de emulator opgeslagen op de locatie%LOCALAPPDATA%\CosmosDBEmulator.After installation, if you have used the default settings, the data corresponding to the emulator is saved at %LOCALAPPDATA%\CosmosDBEmulator location. U kunt een andere locatie configureren met behulp van de optionele instellingen voor het gegevenspad; Dit is de /DataPath=PREFERRED_LOCATION opdracht regel parameter.You can configure a different location by using the optional data path settings; that is the /DataPath=PREFERRED_LOCATION as the command-line parameter. De gegevens die in één versie van de Azure Cosmos DB-emulator zijn gemaakt, zijn niet gegarandeerd toegankelijk als u een andere versie gebruikt.The data created in one version of the Azure Cosmos DB Emulator is not guaranteed to be accessible when using a different version. Als u uw gegevens voor de lange termijn wilt behouden, is het raadzaam dat u die gegevens opslaat in een Azure Cosmos-account in plaats van de Azure Cosmos DB-emulator.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 DB Emulator.

De emulator gebruiken in WindowsUse the emulator on Windows

De Azure Cosmos DB-emulator is standaard geïnstalleerd op C:\Program Files\Azure Cosmos DB Emulator locatie.The Azure Cosmos DB Emulator is installed at C:\Program Files\Azure Cosmos DB Emulator location by default. Als u de Azure Cosmos DB-emulator in Windows wilt starten, selecteert u de knop Start of drukt u op de Windows-toets.To start the Azure Cosmos DB Emulator on Windows, select the Start button or press the Windows key. Begin met het typen van Azure Cosmos DB Emulator en selecteer de emulator in de lijst met toepassingen.Begin typing Azure Cosmos DB Emulator, and select the emulator from the list of applications.

Selecteer de knop Start of druk op de Windows-toets, begin met het typen van Azure Cosmos DB emulator en selecteer de emulator in de lijst met toepassingen

Wanneer de emulator is gestart, ziet u een pictogram in het systeemvak van de Windows-taak balk.When the emulator has started, you'll see an icon in the Windows taskbar notification area. De Azure Cosmos Data Explorer wordt automatisch geopend in uw browser op deze URL- https://localhost:8081/_explorer/index.html URL.It automatically opens the Azure Cosmos data explorer in your browser at this URL https://localhost:8081/_explorer/index.html URL.

Melding in systeemvak van lokale Azure Cosmos Emulator

U kunt ook de emulator starten en stoppen vanuit de opdracht regel-of Power shell-opdrachten.You can also start and stop the emulator from the command-line or PowerShell commands. Zie het naslag artikel over het opdracht regel programma voor meer informatie.For more information, see the command-line tool reference article.

De Azure Cosmos DB Emulator wordt standaard uitgevoerd op de lokale computer ('localhost'), en luistert op poort 8081.The Azure Cosmos DB Emulator by default runs on the local machine ("localhost") listening on port 8081. Het adres wordt weergegeven als https://localhost:8081/_explorer/index.html.The address appears as https://localhost:8081/_explorer/index.html. Als u de explorer sluit en later opnieuw wilt openen, kunt u de URL in uw browser openen of deze starten vanuit de Azure Cosmos DB Emulator in het Windows-systeemvak, zoals hieronder weergegeven.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 DB Emulator in the Windows Tray Icon as shown below.

Startprogramma voor Data Explorer van lokale Azure Cosmos Emulator

De emulator gebruiken in docker voor WindowsUse the emulator on Docker for Windows

U kunt de Azure Cosmos DB-emulator uitvoeren op de Windows docker-container.You can run the Azure Cosmos DB Emulator on the Windows Docker container. Zie de docker-hub voor de docker pull-opdracht en github voor Dockerfile meer informatie.See the Docker Hub for the docker pull command and GitHub for the Dockerfile and more information. De emulator werkt momenteel niet op docker voor Oracle Linux.Currently the emulator does not work on Docker for Oracle Linux. Gebruik de volgende instructies om de emulator uit te voeren op docker voor Windows:Use the following instructions to run the emulator on Docker for Windows:

  1. Nadat u docker voor Windows hebt geïnstalleerd, gaat u naar Windows-containers door met de rechter muisknop op het docker-pictogram op de werk balk te klikken en Switch naar Windows-containers te selecteren.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. Haal vervolgens de installatiekopie van de emulator op van Docker Hub met de volgende opdracht in uw favoriete shell.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. Als u de installatie kopie wilt starten, voert u de volgende opdrachten uit, afhankelijk van de opdracht regel of de Power shell-omgeving: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-docker-installatie kopieën zijn mogelijk niet algemeen compatibel met elk besturings systeem van Windows host.Windows based Docker images might not be generally compatible with every Windows host OS. De standaard installatie kopie van Azure Cosmos DB-emulator is bijvoorbeeld alleen compatibel met Windows 10 en Windows Server 2016.For instance, the default Azure Cosmos DB Emulator image is only compatible with Windows 10 and Windows Server 2016. Als u een installatie kopie nodig hebt die compatibel is met Windows Server 2019, voert u de volgende opdracht uit: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
    

    Notitie

    Wanneer docker run u de opdracht uitvoert en er een fout in de poort conflict wordt weer gegeven (dat wil zeggen als de opgegeven poort al in gebruik is), geeft u een aangepaste poort door de poort nummers te wijzigen.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. U kunt bijvoorbeeld de para meter "-p 8081:8081" wijzigen in "-p 443:8081"For example, you can change the "-p 8081:8081" parameter to "-p 443:8081"

  4. Gebruik nu het Emulator-eind punt en de primaire sleutel van het antwoord en importeer het TLS/SSL-certificaat op uw host.Now use the emulator endpoint and primary key from the response and import the TLS/SSL certificate into your host. Als u het TLS/SSL-certificaat wilt importeren, voert u de volgende stappen uit vanaf een opdracht prompt van de beheerder:To import the TLS/SSL certificate, run the following steps from an admin command prompt:

    cd  %LOCALAPPDATA%\CosmosDBEmulator\bind-mount
    powershell .\importcert.ps1
    
  5. Als u de interactieve shell sluit nadat de emulator is gestart, wordt de container van de emulator afgesloten.If you close the interactive shell after the emulator has started, it will shut down the emulator's container. Als u de Data Explorer opnieuw wilt openen, gaat u naar de volgende URL in uw browser.To reopen the data explorer, navigate to the following URL in your browser. Het eindpunt van de emulator wordt vermeld in het reactiebericht dat hierboven wordt getoond.The emulator endpoint is provided in the response message shown above.

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

Als u een .NET-client toepassing uitvoert op een Linux docker-container en als u Azure Cosmos DB-emulator uitvoert op een hostcomputer, gebruikt u de instructies in de volgende sectie om het certificaat te importeren in de Linux docker-container.If you have a .NET client application running on a Linux docker container and if you are running Azure Cosmos DB Emulator on a host machine, use the instructions in the next section to import the certificate into the Linux docker container.

De emulator-certificaten opnieuw genereren wanneer deze worden uitgevoerd op een docker-containerRegenerate the emulator certificates when running on a Docker container

Wanneer de emulator wordt uitgevoerd in een docker-container, worden de certificaten die zijn gekoppeld aan de emulator telkens opnieuw gegenereerd wanneer u de desbetreffende container stopt en opnieuw opstart.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. U moet de certificaten na het starten van elke container opnieuw importeren.Because of that you have to re-import the certificates after each container start. Als u deze beperking wilt omzeilen, kunt u een docker-bestand gebruiken om de docker-container te binden aan een bepaald IP-adres en een container installatie kopie.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.

U kunt bijvoorbeeld de volgende configuratie in het docker-bestand gebruiken. Zorg ervoor dat u deze formatteert volgens uw vereiste: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'

De emulator gebruiken in Linux of macOSUse the emulator on Linux or macOS

De Azure Cosmos DB-emulator kan momenteel alleen worden uitgevoerd in Windows.Currently the Azure Cosmos DB Emulator can only be run on Windows. Als u Linux of macOS gebruikt, kunt u de emulator uitvoeren in een virtuele Windows-machine die wordt gehost in een Hyper Visor zoals Parallels of VirtualBox.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.

Notitie

Telkens wanneer u de virtuele Windows-machine opnieuw opstart die wordt gehost in een Hyper Visor, moet u het certificaat opnieuw importeren omdat het IP-adres van de virtuele machine verandert.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. Het importeren van het certificaat is niet vereist voor het geval u de virtuele machine hebt geconfigureerd om het IP-adres te behouden.Importing the certificate isn't required in case you have configured the virtual machine to preserve the IP address.

Gebruik de volgende stappen om de emulator te gebruiken in Linux-of macOS-omgevingen:Use the following steps to use the emulator on Linux or macOS environments:

  1. Voer de volgende opdracht uit vanaf de virtuele Windows-machine en noteer het IPv4-adres:Run the following command from the Windows virtual machine and make a note of the IPv4 address:

    ipconfig.exe
    
  2. Wijzig de eind punt-URL in uw toepassing om het IPv4-adres te gebruiken dat wordt geretourneerd door ipconfig.exe in plaats van localhost .Within your application, change the endpoint URL to use the IPv4 address returned by ipconfig.exe instead of localhost.

  3. Start vanaf de Windows-VM de Azure Cosmos DB-emulator vanaf de opdracht regel met behulp van de volgende opties.From the Windows VM, launch the Azure Cosmos DB Emulator from the command line using the following options. Voor meer informatie over de para meters die worden ondersteund door de opdracht regel, raadpleegt u de emulator opdracht regel hulpprogramma Naslag informatie: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. Ten slotte moet u het certificaat vertrouwens proces oplossen tussen de toepassing die wordt uitgevoerd op de Linux-of Mac-omgeving en de emulator.Finally, you need to resolve the certificate trust process between the application running on the Linux or Mac environment and the emulator. U kunt een van de volgende twee opties gebruiken om het certificaat op te lossen:You can use one of the following two options to resolve the certificate:

    1. Importeer het EMULATOR TLS/SSL-certificaat in de Linux-of Mac-omgeving ofImport the emulator TLS/SSL certificate into the Linux or Mac environment or
    2. De TLS/SSL-validatie in de toepassing uitschakelenDisable the TLS/SSL validation in the application

Optie 1: de emulator TLS/SSL-certificaat importerenOption 1: Import the emulator TLS/SSL certificate

In de volgende secties ziet u hoe u het Emulator TLS/SSL-certificaat in Linux-en macOS-omgevingen kunt importeren.The following sections show how to import the emulator TLS/SSL certificate into Linux and macOS environments.

Linux-omgevingLinux environment

Als u werkt met Linux, vertrouwt .NET op OpenSSL voor de validatie:If you are working on Linux, .NET relays on OpenSSL to do the validation:

  1. Exporteer het certificaat in PFX-indeling.Export the certificate in PFX format. De optie PFX is beschikbaar wanneer u de persoonlijke sleutel exporteert.The PFX option is available when choosing to export the private key.

  2. Kopieer het PFX-bestand naar uw Linux-omgeving.Copy that PFX file into your Linux environment.

  3. Converteer het PFX-bestand naar een CRT-bestand.Convert the PFX file into a CRT file

    openssl pkcs12 -in YourPFX.pfx -clcerts -nokeys -out YourCTR.crt
    
  4. Kopieer het CRT-bestand naar de map met aangepaste certificaten in uw Linux-distributie.Copy the CRT file to the folder that contains custom certificates in your Linux distribution. In het geval van Debian-distributies is dat meestal /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. Werk de TLS/SSL-certificaten bij, waarmee de /etc/ssl/certs/ map wordt bijgewerkt.Update the TLS/SSL certificates, which will update the /etc/ssl/certs/ folder.

    update-ca-certificates
    

macOS-omgevingmacOS environment

Voer de volgende stappen uit als u werkt met een Mac:Use the following steps if you are working on Mac:

  1. Exporteer het certificaat in PFX-indeling.Export the certificate in PFX format. De optie PFX is beschikbaar wanneer u de persoonlijke sleutel exporteert.The PFX option is available when choosing to export the private key.

  2. Kopieer het PFX-bestand naar uw Mac-omgeving.Copy that PFX file into your Mac environment.

  3. Open de toepassing Sleutelhangertoegang en importeer het PFX-bestand.Open the Keychain Access application and import the PFX file.

  4. Open de lijst met certificaten en zoek het certificaat met de naam localhost.Open the list of Certificates and identify the one with the name localhost.

  5. Open het contextmenu voor dat specifieke item, selecteer Toon info en selecteer bij Vertrouw > Gebruik bij dit certificaat de optie Vertrouw altijd.Open the context menu for that particular item, select Get Item and under Trust > When using this certificate option, select Always Trust.

    Open het contextmenu voor dat specifieke item, selecteer Toon info en selecteer bij Vertrouw &gt; Gebruik bij dit certificaat de optie Vertrouw altijd

Optie 2: de SSL-validatie in de toepassing uitschakelenOption 2: Disable the SSL validation in the application

Het uitschakelen van SSL-validatie wordt alleen aanbevolen voor ontwikkelings doeleinden en moet niet worden uitgevoerd in een productie omgeving.Disabling SSL validation is only recommended for development purposes and should not be done when running in a production environment. De volgende voor beelden laten zien hoe u SSL-validatie voor .NET-en Node.js-toepassingen kunt uitschakelen.The following examples show how to disable SSL validation for .NET and Node.js applications.

Voor elke toepassing die wordt uitgevoerd in een framework dat compatibel is met .NET Standard 2,1 of hoger, kunnen we gebruikmaken van het CosmosClientOptions.HttpClientFactory volgende: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);

Toegang tot de emulator inschakelen op een lokaal netwerkEnable access to emulator on a local network

Als u meerdere computers hebt met één netwerk en u de emulator op één computer instelt en u deze wilt openen vanaf een andere computer.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. In dat geval moet u de toegang tot de emulator inschakelen op een lokaal netwerk.In such case, you need to enable access to the emulator on a local network.

U kunt de emulator uitvoeren op een lokaal netwerk.You can run the emulator on a local network. U maakt netwerktoegang mogelijk door de optie /AllowNetworkAccess op te geven op de opdrachtregel. U moet hiervoor ook /Key=key_string of /KeyFile=file_name opgeven.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. U kunt /GenKeyFile=file_name gebruiken om vooraf een bestand met een willekeurige sleutel te genereren.You can use /GenKeyFile=file_name to generate a file with a random key upfront. Vervolgens kunt u die doorgeven aan /KeyFile=file_name of /Key=contents_of_file.Then you can pass that to /KeyFile=file_name or /Key=contents_of_file.

Om netwerk toegang voor de eerste keer in te scha kelen, moet de gebruiker de emulator afsluiten en de gegevensdirectory %LocalAppData%\CosmosDBEmulator van de emulator verwijderen.To enable network access for the first time, the user should shut down the emulator and delete the emulator's data directory %LOCALAPPDATA%\CosmosDBEmulator.

Verbindingen verifiëren bij het gebruik van een emulatorAuthenticate connections when using emulator

Net als bij Azure Cosmos DB in de cloud, moet elke aanvraag die u op basis van de Azure Cosmos DB Emulator maakt, worden geverifieerd.As with Azure Cosmos DB in the cloud, every request that you make against the Azure Cosmos DB Emulator must be authenticated. De Azure Cosmos DB-emulator ondersteunt alleen beveiligde communicatie via TLS.The Azure Cosmos DB Emulator supports only secure communication via TLS. De Azure Cosmos DB-emulator ondersteunt één vast account en een bekende verificatie sleutel voor primaire-sleutel verificatie.The Azure Cosmos DB Emulator supports a single fixed account and a well-known authentication key for primary key authentication. Dit account en deze sleutel zijn de enige referenties die zijn toegestaan voor gebruik met de Azure Cosmos DB Emulator.This account and key are the only credentials permitted for use with the Azure Cosmos DB Emulator. Dit zijn:They are:

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

Notitie

De primaire sleutel die wordt ondersteund door de Azure Cosmos DB-emulator is uitsluitend bedoeld voor gebruik met de emulator.The primary key supported by the Azure Cosmos DB Emulator is intended for use only with the emulator. U kunt niet uw Azure DB Cosmos-account en -sleutel voor productie gebruiken met de Azure Cosmos DB Emulator.You cannot use your production Azure Cosmos DB account and key with the Azure Cosmos DB Emulator.

Notitie

Als u de emulator hebt gestart met de optie/Key, gebruikt u de gegenereerde sleutel in plaats van de standaard sleutel 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==. Zie de informatie over het opdrachtregelprogramma voor meer informatie.For more information about /Key option, see Command-line tool reference.

Verbinding maken met verschillende Api's met de emulatorConnect to different APIs with the emulator

SQL-APISQL API

Wanneer de Azure Cosmos DB-emulator op uw computer wordt uitgevoerd, kunt u elke ondersteunde Azure Cosmos DB SDK of de Azure Cosmos DB REST API gebruiken om met de emulator te communiceren.Once you have the Azure Cosmos DB 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. De Azure Cosmos DB-emulator bevat ook een ingebouwde Data Explorer waarmee u containers kunt maken voor SQL API of Azure Cosmos DB voor Mongo DB API.The Azure Cosmos DB Emulator also includes a built-in data explorer that lets you create containers for SQL API or Azure Cosmos DB for Mongo DB API. Met behulp van Data Explorer kunt u items weer geven en bewerken zonder dat u code hoeft te schrijven.By using the data explorer, you can view and edit items without writing any code.

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

Azure Cosmos DB-API voor MongoDBAzure Cosmos DB's API for MongoDB

Zodra u de Azure Cosmos DB-emulator hebt die op uw bureau blad wordt uitgevoerd, kunt u de API van de Azure Cosmos DB voor MongoDb gebruiken om met de emulator te communiceren.Once you have the Azure Cosmos DB Emulator running on your desktop, you can use the Azure Cosmos DB's API for MongoDB to interact with the emulator. Start de emulator vanaf de opdracht prompt als beheerder met '/EnableMongoDbEndpoint '.Start the emulator from command prompt as an administrator with "/EnableMongoDbEndpoint". Gebruik vervolgens de volgende verbindingsreeks om verbinding te maken met het MongoDB API-account: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

Tabel-APITable API

Zodra u de Azure Cosmos DB-emulator op uw bureau blad hebt uitgevoerd, kunt u de Azure Cosmos DB Table-API SDK gebruiken om met de emulator te communiceren.Once you have the Azure Cosmos DB Emulator running on your desktop, you can use the Azure Cosmos DB Table API SDK to interact with the emulator. Start de emulator vanaf de opdracht prompt als beheerder met '/EnableTableEndpoint '.Start the emulator from command prompt as an administrator with "/EnableTableEndpoint". Voer vervolgens de volgende code uit om verbinding te maken met het Table-API-account: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-APICassandra API

Start Emulator vanaf een beheerders opdracht prompt met '/EnableCassandraEndpoint '.Start emulator from an administrator command prompt with "/EnableCassandraEndpoint". U kunt ook de omgevingsvariabele AZURE_COSMOS_EMULATOR_CASSANDRA_ENDPOINT=trueinstellen.Alternatively you can also set the environment variable AZURE_COSMOS_EMULATOR_CASSANDRA_ENDPOINT=true.

  1. Installeer Python 2.7Install Python 2.7

  2. Installeer Cassandra CLI/CQLSHInstall Cassandra CLI/CQLSH

  3. Voer de volgende opdrachten uit in een opdrachtpromptvenster met normale rechten: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. Voer in de CQLSH-shell de volgende opdrachten uit om verbinding te maken met het Cassandra-eindpunt: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

Start Emulator vanaf een beheerders opdracht promptmet '/EnableGremlinEndpoint '.Start emulator from an administrator command promptwith "/EnableGremlinEndpoint". U kunt ook de omgevingsvariabele AZURE_COSMOS_EMULATOR_GREMLIN_ENDPOINT=trueinstellen.Alternatively you can also set the environment variable AZURE_COSMOS_EMULATOR_GREMLIN_ENDPOINT=true

  1. Installeer apache-tinkerpop-gremlin-console-3.3.4.Install apache-tinkerpop-gremlin-console-3.3.4.

  2. Maak in Data Explorer van de emulator een data base ' db1 ' en een verzameling ' coll1 '. Kies voor de partitie sleutel "/name"From the emulator's data explorer create a database "db1" and a collection "coll1"; for the partition key, choose "/name"

  3. Voer de volgende opdrachten uit in een opdrachtpromptvenster met normale rechten: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. Voer in de Gremlin-shell de volgende opdrachten uit om verbinding te maken met het Gremlin-eind punt: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()
    

De lokale emulator verwijderenUninstall the local emulator

Gebruik de volgende stappen om de emulator te verwijderen:Use the following steps to uninstall the emulator:

  1. Sluit alle geopende exemplaren van de lokale emulator af door met de rechter muisknop op het pictogram van de Azure Cosmos DB emulator op het systeemvak te klikken en vervolgens Afsluiten te selecteren.Exit all the open instances of the local emulator by right-clicking the Azure Cosmos DB Emulator icon on the system tray, and then select Exit. Het afsluiten van alle exemplaren kan een paar minuten duren.It may take a minute for all instances to exit.

  2. Typ in het zoekvak van Windows apps & functies en selecteer apps & onderdelen (systeem instellingen) .In the Windows search box, type Apps & features and select Apps & features (System settings) result.

  3. Ga in de lijst met apps naar de Azure Cosmos DB emulator, Selecteer deze, klik op verwijderen en vervolgens op bevestigen en selecteer vervolgens verwijderen .In the list of apps, scroll to the Azure Cosmos DB Emulator, select it, click Uninstall, then confirm and select Uninstall again.

Volgende stappenNext steps

In dit artikel hebt u geleerd hoe u de lokale emulator gebruikt voor gratis lokale ontwikkeling.In this article, you've learned how to use the local emulator for free local development. U kunt nu door gaan met de volgende artikelen:You can now proceed to the next articles: