A Azure Cosmos DB Emulator telepítése és használata helyi fejlesztéshez és teszteléshezInstall and use the Azure Cosmos DB Emulator for local development and testing

A következőkre vonatkozik: SQL API CASSANDRA API Gremlin API Table API Azure Cosmos db API a MongoDB

Az Azure Cosmos DB Emulator helyi környezetet biztosít, amely az Azure Cosmos DB szolgáltatást emulálja a fejlesztéshez.The Azure Cosmos DB Emulator provides a local environment that emulates the Azure Cosmos DB service for development purposes. Az Azure Cosmos DB Emulator használatával helyben fejlesztheti és tesztelheti alkalmazását, anélkül, hogy ehhez regisztrálnia kellene egy Azure-előfizetést, vagy fizetnie kellene a szolgáltatásért.Using the Azure Cosmos DB Emulator, you can develop and test your application locally, without creating an Azure subscription or incurring any costs. Ha meggyőződött arról, hogy az alkalmazás hogyan működik a Azure Cosmos DB Emulatorban, átválthat egy Azure Cosmos-fiók használatára a felhőben.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. Ez a cikk bemutatja, hogyan telepítheti és használhatja az emulátort Windows-, Linux-, macOS-és Windows Docker-környezetekben.This article describes how to install and use the emulator on Windows, Linux, macOS, and Windows docker environments.

Az Emulator letöltéseDownload the emulator

Első lépésként töltse le és telepítse a Azure Cosmos DB Emulator legújabb verzióját a helyi számítógépen.To get started, download and install the latest version of Azure Cosmos DB Emulator on your local computer. Az emulátor kibocsátási megjegyzései című cikk felsorolja az összes elérhető verziót és az egyes kiadásokban végrehajtott szolgáltatás-frissítéseket.The emulator release notes article lists all the available versions and the feature updates that were made in each release.

A Azure Cosmos DB Emulator letöltése

Az SQL, a Cassandra, a MongoDB, a Gremlinés a Table API-fiókokkal alkalmazásokat fejleszthet Azure Cosmos db Emulator használatával.You can develop applications using Azure Cosmos DB Emulator with the SQL, Cassandra, MongoDB, Gremlin, and Table API accounts. Jelenleg az emulátorban található adatkezelő teljes mértékben támogatja az SQL-adatmegjelenítést; a MongoDB, Gremlin/Graph és Cassandra ügyfélalkalmazások használatával létrehozott adatai jelenleg nem tekinthetők meg.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. További információ: a különböző API-kkal való Kapcsolódás az emulátor-végponthoz .To learn more, see how to connect to the emulator endpoint from different APIs.

Hogyan működik az emulátor?How does the emulator work?

Az Azure Cosmos DB Emulator az Azure Cosmos DB szolgáltatás kiváló minőségű emulációját nyújtja.The Azure Cosmos DB Emulator provides a high-fidelity emulation of the Azure Cosmos DB service. Támogatja az egyenértékű funkciókat, mint a Azure Cosmos DB, amely magában foglalja az adatlétrehozást, az adatlekérdezést, a tárolók kiosztását és méretezését, valamint a tárolt eljárások és triggerek végrehajtását.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. Az Azure Cosmos DB Emulator használatával fejlesztheti és tesztelheti az alkalmazásokat, és a Azure Cosmos DB-kapcsolódási végpont frissítésével üzembe helyezheti azokat az Azure-ban globális szinten.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.

Bár az Azure Cosmos DB emulációja valósághű, az emulátor implementálása eltér a szolgáltatásétól.While emulation of the Azure Cosmos DB service is faithful, the emulator's implementation is different than the service. Az emulátor például szabványos operációsrendszer-összetevőket használ, például a helyi fájlrendszert az adatmegőrzéshez és a HTTPS-protokollvermet a kapcsolatokhoz.For example, the emulator uses standard OS components such as the local file system for persistence, and the HTTPS protocol stack for connectivity. Az olyan funkciók, amelyek az Azure-infrastruktúrára, például a globális replikálásra támaszkodnak, az olvasási/írási műveletek egyszámjegyű ezredmásodperces késése és a hangolt konzisztencia-szintek nem alkalmazhatók az emulátor használata esetén.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.

A Azure Cosmos db adatáttelepítési eszközhasználatával áttelepítheti az Azure Cosmos db Emulator és a Azure Cosmos db szolgáltatás közötti adatátvitelt.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.

Az emulátor és a felhőalapú szolgáltatás közötti különbségekDifferences between the emulator and the cloud service

Mivel a Azure Cosmos DB Emulator egy emulált környezetet biztosít, amely a helyi fejlesztői munkaállomáson fut, az emulátor és a felhőben található Azure Cosmos-fiók működésének számos eltérése van: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:

  • Az emulátorban jelenleg az adatkezelő panel teljes mértékben támogatja az SQL API-ügyfeleket.Currently the Data Explorer pane in the emulator fully supports SQL API clients only. Azure Cosmos DB API-k, például a MongoDB, a Table, a Graph és a Cassandra API-k adatkezelő nézete és műveletei nem teljes mértékben támogatottak.The Data Explorer view and operations for Azure Cosmos DB APIs such as MongoDB, Table, Graph, and Cassandra APIs are not fully supported.

  • Az emulátor csak egyetlen rögzített fiókot és egy jól ismert elsődleges kulcsot támogat.The emulator supports only a single fixed account and a well-known primary key. A Azure Cosmos DB emulátor használatakor nem lehet újragenerált kulcsot használni, azonban a parancssori kapcsolóval módosíthatja az alapértelmezett kulcsot.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.

  • Az emulátor használatával csak a kiépített átviteli sebességű módban hozhat létre Azure Cosmos-fiókot; jelenleg nem támogatja a kiszolgáló nélküli üzemmódot.With the emulator, you can create an Azure Cosmos account in provisioned throughput mode only; currently it doesn't support serverless mode.

  • Az emulátor nem méretezhető szolgáltatás, és nem támogatja nagy mennyiségű tároló használatát.The emulator is not a scalable service and it doesn't support a large number of containers. A Azure Cosmos DB emulátor használatakor alapértelmezés szerint legfeljebb 25 rögzített méretű tárolót hozhat létre a 400 RU/s (csak Azure Cosmos DB SDK-k használata esetén támogatott) vagy 5 korlátlan tárolók használatával.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. Az érték módosításával kapcsolatos további információkért tekintse meg a PartitionCount értékének beállítása című cikket.For more information on how to change this value, see Set the PartitionCount value article.

  • Az emulátor nem biztosít különböző Azure Cosmos db konzisztencia-szinteket , például a Cloud Service-t.The emulator does not offer different Azure Cosmos DB consistency levels like the cloud service does.

  • Az emulátor nem nyújt többrégiós replikálást.The emulator does not offer multi-region replication.

  • Mivel előfordulhat, hogy a Azure Cosmos DB Emulator másolata nem mindig naprakész a Azure Cosmos DB szolgáltatás legutóbbi változásaival, mindig tekintse meg az Azure Cosmos db Capacity Plannert , hogy pontosan megbecsülje az alkalmazás átviteli sebességének (RUs) szükségleteit.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.

  • Az emulátor támogatja a maximális azonosító tulajdonság 254 karakteres méretet.The emulator supports a maximum ID property size of 254 characters.

Az emulátor telepítéseInstall the emulator

Az emulátor telepítése előtt győződjön meg arról, hogy rendelkezik az alábbi hardver-és szoftver-követelményekkel:Before you install the emulator, make sure you have the following hardware and software requirements:

  • A szoftverre vonatkozó követelmények:Software requirements:

    • Jelenleg a Windows Server 2012 R2, a Windows Server 2016, a 2019 vagy a Windows 8, 10 gazda operációs rendszer támogatott.Currently Windows Server 2012 R2, Windows Server 2016, 2019 or Windows 8, 10 host OS are supported. A gazdagép operációs rendszerének Active Directory engedélyezése jelenleg nem támogatott.The host OS with Active Directory enabled is currently not supported.
    • 64 bites operációs rendszer esetén:64-bit operating system
  • Minimális hardverkövetelmények:Minimum hardware requirements:

    • 2 GB RAM2-GB RAM
    • 10 GB szabad merevlemez-terület10-GB available hard disk space
  • Az Azure Cosmos DB Emulator telepítéséhez, konfigurálásához és futtatásához rendszergazdai jogosultságokkal kell rendelkeznie a számítógépen.To install, configure, and run the Azure Cosmos DB Emulator, you must have administrative privileges on the computer. Az emulátor felvesz egy tanúsítványt, és beállítja a tűzfalszabályok beállításait a szolgáltatások futtatásához.The emulator will add a certificate and also set the firewall rules in order to run its services. Ezért rendszergazdai jogosultságok szükségesek ahhoz, hogy az emulátor végre tudja hajtani ezeket a műveleteket.Therefore admin rights are necessary for the emulator to be able to execute such operations.

Első lépésként töltse le és telepítse a Azure Cosmos db Emulator legújabb verzióját a helyi számítógépen.To get started, download and install the latest version of Azure Cosmos DB Emulator on your local computer. Ha az emulátor telepítésekor problémákba ütközik, tekintse meg az emulátor hibaelhárítása című cikket.If you run into any issues when installing the emulator, see the emulator troubleshooting article to debug.

A rendszerkövetelményektől függően a jelen cikk következő fejezeteiben leírtak szerint futtathatja az emulátort a Windows, a Linux vagy a MacOS rendszerhez készült Dockerhasználatával.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.

Emulátor frissítéseinek kereséseCheck for emulator updates

Az Emulator minden egyes verziója tartalmaz néhány szolgáltatás-frissítést vagy hibajavítást.Each version of emulator comes with a set of feature updates or bug fixes. Az elérhető verziók megtekintéséhez olvassa el az Emulator kibocsátási megjegyzéseit ismertető cikket.To see the available versions, read the emulator release notes article.

Ha az alapértelmezett beállításokat használta, a telepítés után a rendszer a%LOCALAPPDATA%\CosmosDBEmulator helyen menti az emulátornak megfelelő adatmennyiséget.After installation, if you have used the default settings, the data corresponding to the emulator is saved at %LOCALAPPDATA%\CosmosDBEmulator location. Másik helyet is beállíthat az adatelérési út opcionális beállításainak használatával; Ez a /DataPath=PREFERRED_LOCATION parancssori paraméter.You can configure a different location by using the optional data path settings; that is the /DataPath=PREFERRED_LOCATION as the command-line parameter. Az Azure Cosmos DB Emulator egyik verziójában létrehozott adatmennyiség nem garantált, hogy más verzió használata esetén nem érhető el.The data created in one version of the Azure Cosmos DB Emulator is not guaranteed to be accessible when using a different version. Ha hosszú távon is meg kell őriznie az adatait, azt javasoljuk, hogy a Azure Cosmos DB Emulator helyett egy Azure Cosmos-fiókban tárolja az adatait.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.

Az emulátor használata Windows rendszerenUse the emulator on Windows

A Azure Cosmos DB Emulator alapértelmezés szerint telepítve van a C:\Program Files\Azure Cosmos DB Emulator helyen.The Azure Cosmos DB Emulator is installed at C:\Program Files\Azure Cosmos DB Emulator location by default. A Azure Cosmos DB Emulator Windows rendszeren való elindításához kattintson a Start gombra, vagy nyomja le a Windows billentyűt.To start the Azure Cosmos DB Emulator on Windows, select the Start button or press the Windows key. Kezdje el beírni az Azure Cosmos DB Emulator kifejezést, majd válassza ki az emulátort az alkalmazások listájából.Begin typing Azure Cosmos DB Emulator, and select the emulator from the list of applications.

Kattintson a Start gombra, vagy nyomja le a Windows billentyűt, kezdje beírni Azure Cosmos DB emulátort, és válassza ki az emulátort az alkalmazások listájából.

Amikor az emulátor elindult, megjelenik egy ikon a Windows tálca értesítési területén.When the emulator has started, you'll see an icon in the Windows taskbar notification area. Az URL https://localhost:8081/_explorer/index.html -cím URL-címe automatikusan megnyitja az Azure Cosmos adatkezelőt a böngészőben.It automatically opens the Azure Cosmos data explorer in your browser at this URL https://localhost:8081/_explorer/index.html URL.

A helyi emulátor Azure Cosmos DB értesítése

Az emulátort a parancssori vagy a PowerShell-parancsokkal is elindíthatja és leállíthatja.You can also start and stop the emulator from the command-line or PowerShell commands. További információt a parancssori eszköz dokumentációjában talál.For more information, see the command-line tool reference article.

Az Azure Cosmos DB Emulator alapértelmezés szerint a 8081-es porton figyelő helyi gépen („localhost”) fut.The Azure Cosmos DB Emulator by default runs on the local machine ("localhost") listening on port 8081. A cím a következőképpen jelenik meg: https://localhost:8081/_explorer/index.html.The address appears as https://localhost:8081/_explorer/index.html. Ha bezárja az Adatkezelőt, és később újra meg szeretné nyitni, megnyithatja az URL-t a böngészőben, vagy elindíthatja azt a Windows tálca Azure Cosmos DB Emulator ikonjával az alább látható módon.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.

Azure Cosmos helyi emulátor adatkezelő-indító

A Windows rendszerhez készült Docker-emulátor használataUse the emulator on Docker for Windows

A Azure Cosmos DB Emulatort a Windows Docker-tárolón futtathatja.You can run the Azure Cosmos DB Emulator on the Windows Docker container. További információért tekintse meg a Docker-lekérési parancs és a GitHub a Docker hub -t Dockerfile .See the Docker Hub for the docker pull command and GitHub for the Dockerfile and more information. Az emulátor jelenleg nem működik a Oracle Linux Docker-ben.Currently the emulator does not work on Docker for Oracle Linux. Az alábbi utasítások segítségével futtathatja az emulátort a Windows Docker szolgáltatásban:Use the following instructions to run the emulator on Docker for Windows:

  1. Miután telepítette a Windows Docker szolgáltatást, váltson a Windows-tárolók elemre, és kattintson a jobb gombbal a Docker ikonjára az eszköztáron, és válassza a váltás Windows-tárolóra lehetőséget.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. Ezután kérje le az emulátor rendszerképét a Docker Hubról. Ehhez futtassa a következő parancsot azon a felületen, amelyet használni szokott.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. A rendszerkép elindításához futtassa a következő parancsokat a parancssorból vagy a PowerShell-környezettől függően: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
    

    Előfordulhat, hogy a Windows-alapú Docker-lemezképek általában nem kompatibilisek minden Windows-gazdagép operációs rendszerével.Windows based Docker images might not be generally compatible with every Windows host OS. Az alapértelmezett Azure Cosmos DB Emulator-rendszerkép például csak a Windows 10 és a Windows Server 2016 rendszerrel kompatibilis.For instance, the default Azure Cosmos DB Emulator image is only compatible with Windows 10 and Windows Server 2016. Ha olyan rendszerképre van szüksége, amely kompatibilis a Windows Server 2019-mel, futtassa a következő parancsot: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
    

    Megjegyzés

    Ha a parancs végrehajtásakor docker run ütközési hiba jelenik meg (azaz ha a megadott port már használatban van), adja át az egyéni portot a portszámok módosításával.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. Megváltoztathatja például a "-p 8081:8081" paramétert a "-p 443:8081" értékre.For example, you can change the "-p 8081:8081" parameter to "-p 443:8081"

  4. Most használja az emulátor végpontját és az elsődleges kulcsot a válaszból, és importálja a TLS/SSL-tanúsítványt a gazdagépre.Now use the emulator endpoint and primary key from the response and import the TLS/SSL certificate into your host. A TLS/SSL-tanúsítvány importálásához futtassa a következő lépéseket egy rendszergazdai parancssorból:To import the TLS/SSL certificate, run the following steps from an admin command prompt:

    cd  %LOCALAPPDATA%\CosmosDBEmulator\bind-mount
    powershell .\importcert.ps1
    
  5. Ha az emulátor elindítása után bezárja az interaktív felületet, a rendszer leállítja az emulátor tárolóját.If you close the interactive shell after the emulator has started, it will shut down the emulator's container. Az adatkezelő megnyitásához nyissa meg a következő URL-címet a böngészőben.To reopen the data explorer, navigate to the following URL in your browser. Az emulátor végpontja a fent látható válaszüzenetben van megadva.The emulator endpoint is provided in the response message shown above.

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

Ha a .NET-ügyfélalkalmazás Linux Docker-tárolón fut, és ha Azure Cosmos DB emulátort futtat egy gazdagépen, a következő szakaszban található utasítások segítségével importálja a tanúsítványt a Linux Docker-tárolóba.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.

Emulator-tanúsítványok újralétrehozása Docker-tárolón való futtatáskorRegenerate the emulator certificates when running on a Docker container

Amikor az emulátort egy Docker-tárolóban futtatja, az emulátorhoz társított tanúsítványokat a rendszer minden alkalommal újragenerálta, amikor leállítja és újraindítja a megfelelő tárolót.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. Ezért az egyes tárolók elindítása után újra importálnia kell a tanúsítványokat.Because of that you have to re-import the certificates after each container start. A korlátozás megkerülése érdekében a Docker-összeállítási fájllal a Docker-tárolót egy adott IP-címhez és egy tároló-rendszerképhez kell kötni.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.

Használhatja például a következő konfigurációt a Docker-összeállítási fájlon belül, hogy a követelmény szerint formázza azt: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'

Az emulátor használata Linux vagy macOS rendszerenUse the emulator on Linux or macOS

Jelenleg a Azure Cosmos DB Emulator csak Windows rendszeren futtatható.Currently the Azure Cosmos DB Emulator can only be run on Windows. Ha Linux vagy macOS rendszert használ, akkor futtathatja az emulátort egy olyan Windows rendszerű virtuális gépen, amely egy olyan hypervisorban üzemel, mint a Parallels vagy a 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.

Megjegyzés

Minden alkalommal, amikor újraindul a hypervisorban üzemeltetett Windows rendszerű virtuális gép, újra kell importálnia a tanúsítványt, mert a virtuális gép IP-címe megváltozik.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. A tanúsítvány importálása nem szükséges abban az esetben, ha a virtuális gépet úgy konfigurálta, hogy megőrizze az IP-címet.Importing the certificate isn't required in case you have configured the virtual machine to preserve the IP address.

A következő lépésekkel használhatja az emulátort Linux vagy macOS rendszerű környezetekben:Use the following steps to use the emulator on Linux or macOS environments:

  1. Futtassa a következő parancsot a Windows rendszerű virtuális gépről, és jegyezze fel az IPv4-címeket:Run the following command from the Windows virtual machine and make a note of the IPv4 address:

    ipconfig.exe
    
  2. Az alkalmazásban módosítsa a végpont URL-címét úgy, hogy az a helyett a által visszaadott IPv4-címet használja ipconfig.exe localhost .Within your application, change the endpoint URL to use the IPv4 address returned by ipconfig.exe instead of localhost.

  3. A Windows rendszerű virtuális gépen indítsa el a Azure Cosmos DB Emulatort a parancssorból a következő lehetőségek használatával.From the Windows VM, launch the Azure Cosmos DB Emulator from the command line using the following options. A parancssor által támogatott paraméterek részleteiért tekintse meg az Emulator parancssori eszköz dokumentációját: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. Végül fel kell oldania a tanúsítvány megbízhatósági folyamatát a Linux vagy Mac környezetben futó alkalmazás és az emulátor között.Finally, you need to resolve the certificate trust process between the application running on the Linux or Mac environment and the emulator. A tanúsítvány feloldásához a következő két lehetőség közül választhat:You can use one of the following two options to resolve the certificate:

    1. Importálja az EMULÁTOR TLS/SSL-tanúsítványát a Linux vagy a Mac környezetbe , vagyImport the emulator TLS/SSL certificate into the Linux or Mac environment or
    2. A TLS/SSL-érvényesítés letiltása az alkalmazásbanDisable the TLS/SSL validation in the application

1. lehetőség: az emulátor TLS/SSL-tanúsítványának importálásaOption 1: Import the emulator TLS/SSL certificate

A következő részben bemutatjuk, hogyan importálhatja az emulátor TLS/SSL-tanúsítványát Linux-és macOS-környezetbe.The following sections show how to import the emulator TLS/SSL certificate into Linux and macOS environments.

Linux-környezetLinux environment

Ha Linux rendszeren dolgozik, a .NET-továbbítókat az OpenSSL-ben végezheti el az ellenőrzés elvégzéséhez:If you are working on Linux, .NET relays on OpenSSL to do the validation:

  1. Exportálja a tanúsítványt pfx formátumban.Export the certificate in PFX format. A PFX beállítás akkor érhető el, ha a titkos kulcs exportálását választja.The PFX option is available when choosing to export the private key.

  2. Másolja a PFX-fájlt a linuxos környezetbe.Copy that PFX file into your Linux environment.

  3. PFX-fájl konvertálása CRT-fájlbaConvert the PFX file into a CRT file

    openssl pkcs12 -in YourPFX.pfx -clcerts -nokeys -out YourCTR.crt
    
  4. Másolja a CRT-fájlt arra a mappára, amely a Linux-disztribúcióban egyéni tanúsítványokat tartalmaz.Copy the CRT file to the folder that contains custom certificates in your Linux distribution. A Debian-disztribúciók általában a következő helyen találhatók: /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. Frissítse a TLS/SSL-tanúsítványokat, amelyek frissítik a /etc/ssl/certs/ mappát.Update the TLS/SSL certificates, which will update the /etc/ssl/certs/ folder.

    update-ca-certificates
    

macOS-környezetmacOS environment

Ha Mac gépen dolgozik, kövesse az alábbi lépéseket:Use the following steps if you are working on Mac:

  1. Exportálja a tanúsítványt pfx formátumban.Export the certificate in PFX format. A PFX beállítás akkor érhető el, ha a titkos kulcs exportálását választja.The PFX option is available when choosing to export the private key.

  2. Másolja a PFX-fájlt a Mac-környezetbe.Copy that PFX file into your Mac environment.

  3. Nyissa meg a kulcstartó-hozzáférési alkalmazást, és importálja a pfx-fájlt.Open the Keychain Access application and import the PFX file.

  4. Nyissa meg a tanúsítványok listáját, és azonosítsa a nevet localhost .Open the list of Certificates and identify the one with the name localhost.

  5. Nyissa meg az adott elemhez tartozó helyi menüt, válassza az elem beolvasása és a megbízhatóság a > tanúsítvány használatakor lehetőséget, majd válassza a mindig megbízható lehetőséget.Open the context menu for that particular item, select Get Item and under Trust > When using this certificate option, select Always Trust.

    Nyissa meg az adott elemhez tartozó helyi menüt, válassza az elem beolvasása és a megbízhatóság alatt – ezen tanúsítvány használata esetén válassza a mindig megbízható lehetőséget.

2. lehetőség: az SSL-érvényesítés letiltása az alkalmazásbanOption 2: Disable the SSL validation in the application

Az SSL-ellenőrzés letiltása csak fejlesztési célokra javasolt, ezért nem végezhető el éles környezetben való futtatáskor.Disabling SSL validation is only recommended for development purposes and should not be done when running in a production environment. Az alábbi példák bemutatják, hogyan tilthatja le a .NET-és Node.js-alkalmazások SSL-érvényesítését.The following examples show how to disable SSL validation for .NET and Node.js applications.

A .NET Standard 2,1-as vagy újabb verzióval kompatibilis keretrendszerben futó alkalmazások esetében a következőket tudjuk használni 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);

Az emulátor elérésének engedélyezése helyi hálózatonEnable access to emulator on a local network

Ha több géppel is rendelkezik egyetlen hálózattal, és ha az emulátort egy gépen állítja be, és más gépről szeretné elérni.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. Ilyen esetben engedélyeznie kell az emulátor elérését egy helyi hálózaton.In such case, you need to enable access to the emulator on a local network.

Egy helyi hálózaton futtathatja az emulátort.You can run the emulator on a local network. A hálózati hozzáférés engedélyezéséhez írja be a /AllowNetworkAccess parancsot a parancssorba, amelyhez a vagy a paramétert is meg kell adni /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. A használatával létrehozhat /GenKeyFile=file_name egy véletlenszerű kulccsal rendelkező fájlt.You can use /GenKeyFile=file_name to generate a file with a random key upfront. Ezt követően átadhatja a következőt: /KeyFile=file_name vagy /Key=contents_of_file .Then you can pass that to /KeyFile=file_name or /Key=contents_of_file.

A hálózati hozzáférés első alkalommal történő engedélyezéséhez a felhasználónak le kell állítania az emulátort, és törölnie kell az emulátor adatkönyvtárának %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.

Kapcsolatok hitelesítése emulátor használatakorAuthenticate connections when using emulator

A felhőbeli Azure Cosmos DB-hez hasonlóan hitelesíteni kell minden olyan kérést, amelyet az Azure Cosmos DB Emulatorhoz végez.As with Azure Cosmos DB in the cloud, every request that you make against the Azure Cosmos DB Emulator must be authenticated. A Azure Cosmos DB-emulátor csak a biztonságos kommunikációt támogatja a TLS-n keresztül.The Azure Cosmos DB Emulator supports only secure communication via TLS. Az Azure Cosmos DB-emulátor egyetlen rögzített fiókot és egy jól ismert hitelesítési kulcsot támogat az elsődleges kulcsos hitelesítéshez.The Azure Cosmos DB Emulator supports a single fixed account and a well-known authentication key for primary key authentication. Az Azure Cosmos DB Emulatorral csak a fiók és a kulcs hitelesítő adatok használhatók.This account and key are the only credentials permitted for use with the Azure Cosmos DB Emulator. Ezek a következők:They are:

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

Megjegyzés

Az Azure Cosmos DB-emulátor által támogatott elsődleges kulcs kizárólag az emulátorhoz használható.The primary key supported by the Azure Cosmos DB Emulator is intended for use only with the emulator. Nem használhatja az éles Azure Cosmos DB-fiókot és -kulcsot az Azure Cosmos DB Emulatorral.You cannot use your production Azure Cosmos DB account and key with the Azure Cosmos DB Emulator.

Megjegyzés

Ha elindította az emulátort a/Key kapcsolóval, akkor az alapértelmezett kulcs helyett a generált kulcsot használja 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==. A/Key beállítással kapcsolatos további információkért lásd a parancssori eszköz dokumentációját.For more information about /Key option, see Command-line tool reference.

Kapcsolódás különböző API-khoz az emulátorralConnect to different APIs with the emulator

SQL APISQL API

Amikor az Azure Cosmos DB Emulator fut az asztalon, bármelyik támogatott Azure Cosmos DB SDK-t vagy Azure Cosmos DB REST API-t használhatja az emulátor használatához.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. A Azure Cosmos DB Emulator tartalmaz egy beépített adatkezelőt is, amely lehetővé teszi tárolók létrehozását az SQL API-hoz vagy a Mongo DB API-hoz Azure Cosmos DB.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. Az adatkezelő használatával bármilyen kód írása nélkül megtekintheti és szerkesztheti az elemeket.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==");

MongoDB-hez készült Azure Cosmos DB APIAzure Cosmos DB's API for MongoDB

Miután futtatta az Azure Cosmos DB emulátort az asztalon, használhatja a Azure Cosmos db API -ját a MongoDB, hogy együttműködjön az emulátorral.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. Indítsa el az emulátort a parancssorból rendszergazdaként a "/EnableMongoDbEndpoint" parancs futtatásával.Start the emulator from command prompt as an administrator with "/EnableMongoDbEndpoint". Ezután használja a következő kapcsolati karakterláncot a MongoDB API-fiókhoz való kapcsolódáshoz: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

Table APITable API

Miután futtatta az Azure Cosmos DB emulátort az asztalon, az Azure Cosmos DB Table API SDK használatával kommunikálhat az emulátorral.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. Indítsa el az emulátort a parancssorból rendszergazdaként a "/EnableTableEndpoint" parancs futtatásával.Start the emulator from command prompt as an administrator with "/EnableTableEndpoint". Ezután futtassa a következő kódot a Table API-fiókhoz való kapcsolódáshoz: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

Indítsa el az emulátort egy rendszergazdai parancssorból a "/EnableCassandraEndpoint" paranccsal.Start emulator from an administrator command prompt with "/EnableCassandraEndpoint". Másik lehetőségként beállíthatja a környezeti változót is AZURE_COSMOS_EMULATOR_CASSANDRA_ENDPOINT=true .Alternatively you can also set the environment variable AZURE_COSMOS_EMULATOR_CASSANDRA_ENDPOINT=true.

  1. A Python 2,7 telepítéseInstall Python 2.7

  2. A Cassandra CLI/CQLSH telepítéseInstall Cassandra CLI/CQLSH

  3. Futtassa a következő parancsokat egy normál parancssori ablakban: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. A CQLSH-rendszerhéjban futtassa a következő parancsokat a Cassandra-végponthoz való kapcsolódáshoz: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

Indítsa el az emulátort egy rendszergazdai parancssorbóla "/EnableGremlinEndpoint" paranccsal.Start emulator from an administrator command promptwith "/EnableGremlinEndpoint". Másik lehetőségként beállíthatja a környezeti változót is AZURE_COSMOS_EMULATOR_GREMLIN_ENDPOINT=trueAlternatively you can also set the environment variable AZURE_COSMOS_EMULATOR_GREMLIN_ENDPOINT=true

  1. Az Apache-tinkerpop-Gremlin-Console-3.3.4 telepítése.Install apache-tinkerpop-gremlin-console-3.3.4.

  2. Az emulátor adatkezelője hozzon létre egy "db1" adatbázist és egy "coll1" gyűjteményt; a partíciós kulcshoz válassza a "/Name" elemet.From the emulator's data explorer create a database "db1" and a collection "coll1"; for the partition key, choose "/name"

  3. Futtassa a következő parancsokat egy normál parancssori ablakban: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. A Gremlin-rendszerhéjban futtassa a következő parancsokat az Gremlin-végponthoz való kapcsolódáshoz: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()
    

A helyi emulátor eltávolításaUninstall the local emulator

Az emulátor eltávolításához kövesse az alábbi lépéseket:Use the following steps to uninstall the emulator:

  1. Lépjen ki a helyi emulátor összes nyitott példányáról úgy, hogy a tálcán a jobb gombbal a Azure Cosmos db Emulator ikonra kattint, majd kiválasztja a Kilépés lehetőséget.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. Az összes példány bezárása egy percig is eltarthat.It may take a minute for all instances to exit.

  2. Írja be a Windows keresőmezőbe az alkalmazások & szolgáltatások elemet, majd válassza az alkalmazások & szolgáltatások (Rendszerbeállítások) eredményt.In the Windows search box, type Apps & features and select Apps & features (System settings) result.

  3. Az alkalmazások listájában görgessen a Azure Cosmos db emulátorhoz, válassza ki azt, kattintson az Eltávolítás gombra, és erősítse meg, majd válassza újra az Eltávolítás lehetőséget.In the list of apps, scroll to the Azure Cosmos DB Emulator, select it, click Uninstall, then confirm and select Uninstall again.

További lépésekNext steps

Ebben a cikkben megtanulta, hogyan használhatja a helyi emulátort az ingyenes helyi fejlesztéshez.In this article, you've learned how to use the local emulator for free local development. Most folytassa a következő cikkekkel:You can now proceed to the next articles: