Cvičení: Migrace úloh MongoDB do Cosmos DB

Dokončeno

Pracujete pro společnost, která má senzory IoT, které shromažďují data o teplotě. Teploty se protokolují do databáze MongoDB spolu s časovým razítkem. Každé zařízení má jedinečné ID. Spustíte aplikaci MongoDB, která simuluje tato zařízení, a uložíte data do databáze. Použijete také druhou aplikaci, která uživateli umožní dotazovat se na statistické informace o jednotlivých zařízeních. Po migraci databáze z MongoDB do Cosmos DB nakonfigurujete obě aplikace pro připojení ke službě Cosmos DB a ověříte, že stále fungují správně.

V tomto cvičení vezmete existující databázi MongoDB a migrujete ji do Cosmos DB. Použijete službu Azure Database Migration Service. Také se dozvíte, jak překonfigurovat existující aplikace, které místo toho používají databázi MongoDB pro připojení k databázi Cosmos DB.

Důležité

Služba Azure Data Migration Service se nepodporuje v bezplatném sandboxovém prostředí Azure. Tyto kroky můžete provést ve vlastním osobním předplatném nebo si jen projděte, abyste pochopili, jak migrovat databázi.

Vytvoření databáze MongoDB v Azure

Nejprve vytvoříte databázi MongoDB pro uchovávání dat zachycených ze zařízení teploty.

Vytvořte skupinu prostředků a virtuální síť

  1. Ve webovém prohlížeči otevřete novou kartu a přejděte na portál Azure.

  2. Na webu Azure Portal vyberte skupiny prostředků a pak vyberte +Přidat.

  3. Na stránce Vytvořit skupinu prostředků zadejte následující podrobnosti:

    Vlastnictví Hodnota
    Předplatné <vaše předplatné>
    Skupina zdrojů Mongodbrg
    Región Vyberte nejbližší umístění.
  4. Vyberte Zkontrolovat a vytvořit a poté vyberte Vytvořit. Počkejte na vytvoření skupiny prostředků.

  5. V nabídce webu Azure Portal vyberte + Vytvořit prostředek.

  6. Na stránce Nový zadejte do pole Hledat na Marketplacevirtuální síť a stiskněte Enter.

  7. Na stránce Virtuální síť vyberte Vytvořit.

  8. Na stránce Vytvořit virtuální síť zadejte následující podrobnosti a pak vyberte Další: IP adresy:

    Vlastnictví Hodnota
    Skupina zdrojů Mongodbrg
    Název databasevnet
    Región Vyberte stejné umístění, které jste zadali pro skupinu prostředků.
  9. Na stránce IP adresy nastavte adresní prostor IPv4 na 10.0.0.0/24.

  10. Vyberte výchozí podsíť a pak vyberte Odebrat podsíť.

  11. Vyberte + Přidat podsíť. V podokně Přidat podsíť nastavte výchozí název podsítě, nastavte rozsah adres podsítě na 10.0.0.0/28 a pak vyberte Přidat.

  12. Na stránce IP adresy vyberte Další: Zabezpečení.

  13. Na stránce Zabezpečení ověřte, že je služba Azure DDoS Network Protection nastavená na Zakázat a brána firewall je nastavená na Zakázat. Vyberte možnost Zkontrolovat a vytvořit.

  14. Na stránce Vytvořit virtuální síť vyberte Vytvořit. Než budete pokračovat, počkejte na vytvoření virtuální sítě.

Vytvoření databázového serveru MongoDB

  1. V nabídce webu Azure Portal vyberte + Vytvořit prostředek.

  2. Do pole Hledat na Marketplace zadejte Ubuntu a stiskněte Enter.

  3. Na stránce Marketplace vyberte Ubuntu Server 18.04 LTS.

  4. Na stránce Ubuntu Server 18.04 LTS vyberte Vytvořit.

  5. Na stránce Vytvořit virtuální počítač zadejte následující podrobnosti:

    Vlastnictví Hodnota
    Skupina zdrojů Mongodbrg
    Název virtuálního počítače mongodbserver
    Región Vyberte stejné umístění, které jste zadali pro skupinu prostředků.
    Možnosti dostupnosti Není potřeba žádná redundance infrastruktury.
    Obrázek Ubuntu Server 18.04 LTS – Gen1
    Instance Azure Spot Nezkontrolováno
    Velikost Standardní A1_v2
    Typ autentizace Heslo
    Uživatelské jméno azureuser
    Heslo Pa55w.rdPa55w.rd
    Potvrdit heslo Pa55w.rdPa55w.rd
    Veřejné příchozí porty Povolit vybrané porty
    Vyberte příchozí porty SSH (22)
  6. Vyberte Další: Disky >.

  7. Na stránce Disky ponechte výchozí nastavení a pak vyberte Další: Sítě >.

  8. Na stránce Sítě zadejte následující podrobnosti:

    Vlastnictví Hodnota
    Virtuální síť databasevnet
    Podsíť výchozí (10.0.0.0/28)
    Veřejná IP adresa (nový) mongodbserver-ip
    Skupina zabezpečení sítě NIC Rozšířený
    Konfigurace skupiny zabezpečení sítě (nový) mongodbserver-nsg
    Akcelerované síťové služby Nezkontrolováno
    Vyrovnávání zatížení Nezkontrolováno
  9. Vyberte Zkontrolovat + vytvořit >.

  10. Na stránce ověření vyberte Vytvořit.

  11. Než budete pokračovat, počkejte, než se virtuální počítač nasadí.

  12. V nabídce webu Azure Portal vyberte Všechny prostředky.

  13. Na stránce Všechny prostředky vyberte mongodbserver-nsg.

  14. Na stránce mongodbserver-nsg v části Nastavení vyberte Příchozí pravidla zabezpečení.

  15. Na stránce mongodbserver-nsg - Pravidla zabezpečení pro příchozí spojení vyberte + Přidat.

  16. V podokně Přidat příchozí pravidlo zabezpečení zadejte následující údaje:

    Vlastnictví Hodnota
    Zdroj Jakýkoliv
    Rozsahy zdrojových portů *
    Cíl Jakýkoliv
    Rozsahy cílových portů 8080
    Protokol Jakýkoliv
    Činnost Povolit
    Priorita 1030
    Název Port Mongodb
    Popis Port, který klienti používají pro připojení k MongoDB
  17. Vyberte Přidat.

Poznámka:

V tomto cvičení nakonfigurujete MongoDB tak, aby používal port 8080. Stačí to udělat jenom kvůli omezením zabezpečení v tomto prostředí. Normálně byste použili výchozí port MongoDB 27017.

Instalace MongoDB

  1. V nabídce webu Azure Portal vyberte Všechny prostředky.

  2. Na stránce Všechny prostředky vyberte mongodbserver-ip.

  3. Na stránce mongodbserver-ip si poznamenejte IP adresu.

  4. Na panelu nástrojů v horní části webu Azure Portal vyberte Cloud Shell.

  5. Pokud se zobrazí okno Zpráva Nemáte připojené úložiště , vyberte Vytvořit úložiště.

  6. Po spuštění Cloud Shellu v rozevíracím seznamu nad oknem Cloud Shellu vyberte Bash.

  7. V Cloud Shellu zadejte následující příkaz pro připojení k virtuálnímu počítači mongodbserver. Nahraďte <IP adresu hodnotou IP adresy>mongodbserver-ip :

    ssh azureuser@<ip address>
    
  8. Na příkazovém řádku zadejte ano , pokud chcete pokračovat v připojování.

  9. Zadejte heslo Pa55w.rdPa55w.rd.

  10. Pokud chcete znovu načíst databázi balíčku, zadejte tento příkaz:

    sudo apt-get update
    
  11. Pokud chcete nainstalovat MongoDB, zadejte tento příkaz:

    sudo apt-get install -y mongodb
    

    Instalace by měla pokračovat zprávami o instalaci, přípravě a rozbalení balíčků. Dokončení instalace může trvat několik minut.

Konfigurace databáze MongoDB

Ve výchozím nastavení je instance Mongo DB nakonfigurovaná tak, aby běžela bez ověřování. V této úloze nakonfigurujete MongoDB tak, aby se svážela s místním síťovým rozhraním, aby přijímala připojení z jiných počítačů. Povolíte také ověřování a vytvoříte potřebný uživatelský účet k provedení migrace. Nakonec přidáte účet, který může testovací aplikace použít k dotazování databáze.

  1. Pokud chcete otevřít konfigurační soubor MongoDB, spusťte tento příkaz:

    sudo nano /etc/mongodb.conf
    
  2. V souboru vyhledejte nastavení bind_ip a nastavte ho na 0.0.0.0.

  3. Vyhledejte nastavení portu a nastavte ho na 8080.

  4. Konfigurační soubor uložíte stisknutím klávesy Esc a stisknutím kombinace kláves CTRL + X. Stisknutím klávesy y a pak klávesy Enter uložte modifikovaný buffer.

  5. Pokud chcete restartovat službu MongoDB a použít změny, zadejte tento příkaz:

    sudo service mongodb restart
    
  6. Pokud se chcete připojit ke službě MongoDB, zadejte tento příkaz:

    mongo --host 127.0.0.1:8080
    
  7. Na příkazovém > řádku spusťte tento příkaz, abyste přešli do databáze správce :

    use admin;
    
  8. Pokud chcete vytvořit nového uživatele s názvem správce, spusťte následující příkaz. Pokud chcete zlepšit čitelnost, můžete příkaz zadat na jeden řádek nebo na více řádcích. Příkaz se vykoná, když program mongo dosáhne středníku:

    db.createUser(
        {
            user: "administrator",
            pwd: "Pa55w.rd",
            roles: [
                { role: "userAdminAnyDatabase", db: "admin" },
                { role: "clusterMonitor", db:"admin" },
                "readWriteAnyDatabase"
            ]
        }
    );
    
  9. Chcete-li program ukončit mongo , zadejte tento příkaz;

    exit;
    
  10. Pokud se chcete připojit k MongoDB pomocí nového účtu správce, spusťte tento příkaz:

    mongo admin -u "administrator" -p "Pa55w.rd" --host 127.0.0.1:8080
    
  11. Pokud chcete přepnout do databáze DeviceData , spusťte tento příkaz:

    use DeviceData;    
    
  12. Pokud chcete vytvořit uživatele s názvem deviceadmin, který bude aplikace používat pro připojení k databázi, spusťte tento příkaz:

    db.createUser(
        {
            user: "deviceadmin",
            pwd: "Pa55w.rd",
            roles: [ { role: "readWrite", db: "DeviceData" } ]
        }
    );
    
  13. Chcete-li program ukončit mongo , zadejte tento příkaz;

    exit;
    
  14. Spusťte následující příkaz, restartujte službu Mongodb. Ověřte, že se služba restartuje bez chybových zpráv:

    sudo service mongodb restart
    
  15. Spuštěním následujícího příkazu ověřte, že se teď můžete přihlásit k mongodb jako uživatel deviceadmin:

    mongo DeviceData -u "deviceadmin" -p "Pa55w.rd" --host 127.0.0.1:8080
    
  16. Na příkazovém > řádku spuštěním následujícího příkazu ukončete prostředí Mongo Shell:

    exit;
    
  17. Na příkazovém řádku Bash spusťte následující příkaz, který se odpojí od serveru MongoDB a vrátí se do Cloud Shellu:

    exit
    

Naplnění a dotazování databáze MongoDB

Právě jste vytvořili server a databázi MongoDB. Dalším krokem je předvedení ukázkových aplikací, které můžou naplnit a dotazovat data v této databázi.

Sestavení a spuštění aplikace pro naplnění databáze MongoDB

  1. Spuštěním následujícího příkazu v Azure Cloud Shellu stáhněte ukázkový kód:

    git clone https://github.com/MicrosoftLearning/DP-060T00A-Migrating-your-Database-to-Cosmos-DB migration-workshop-apps
    
  2. Přejděte do složky migration-workshop-apps/MongoDeviceDataCapture/MongoDeviceCapture :

    cd ~/migration-workshop-apps/MongoDeviceDataCapture/MongoDeviceDataCapture
    
  3. Pomocí editoru kódu prozkoumejte soubor TemperatureDevice.cs :

    code TemperatureDevice.cs
    

    Kód v tomto souboru obsahuje třídu s názvem TemperatureDevice , která simuluje teplotní zařízení, které zachytává data a ukládá je do databáze MongoDB. Používá knihovnu MongoDB pro rozhraní .NET Framework. Konstruktor TemperatureDevice se připojí k databázi pomocí nastavení uložených v konfiguračním souboru aplikace. Metoda RecordTemperatures generuje čtení a zapisuje ji do databáze.

  4. Zavřete editor kódu a otevřete ThermometerReading.cs soubor :

    code ThermometerReading.cs
    

    Tento soubor ukazuje strukturu dokumentů, které aplikace ukládá do databáze. Každý dokument obsahuje následující pole:

    • ID objektu. Jedná se o pole "_id" vygenerované MongoDB, které jednoznačně identifikuje každý dokument.
    • ID zařízení. Každé zařízení má číslo s předponou "Zařízení".
    • Teplota zaznamenaná zařízením.
    • Datum a čas zaznamenání teploty.
  5. Zavřete editor kódu a otevřete soubor App.config :

    code App.config
    

    Tento soubor obsahuje nastavení pro připojení k databázi MongoDB.

  6. Nastavte hodnotu klíče adresy na IP adresu serveru MongoDB, který jste si poznamenali dříve.

  7. Změňte port, který aplikace používá, na 8080.

  8. Uložte soubor a zavřete editor pomocí kláves CTRL + s a potom ctrl + q.

  9. Spuštěním následujícího příkazu znovu sestavte aplikaci:

    dotnet build
    

    Může to trvat přibližně 5 minut.

  10. Spusťte aplikaci:

    dotnet run
    

    Aplikace simuluje 100 zařízení spuštěných současně. Nechte aplikaci běžet několik minut a stisknutím klávesy Enter ji zastavte.

Sestavení a spuštění jiné aplikace pro dotazování databáze MongoDB

  1. Přejděte do složky DP160T00A-Migrating-your-Database-to-Cosmos-DB/MongoDeviceDataCapture/DeviceDataQuery :

    cd ~/migration-workshop-apps/MongoDeviceDataCapture/DeviceDataQuery
    

    Tato složka obsahuje jinou aplikaci, kterou můžete použít k analýze dat zachycených jednotlivými zařízeními.

  2. Pomocí editoru kódu prozkoumejte soubor Program.cs :

    code Program.cs
    

    Aplikace se připojí k databázi (pomocí metody ConnectToDatabase v dolní části souboru) a pak vyzve uživatele k zadání čísla zařízení. Aplikace používá knihovnu MongoDB pro rozhraní .NET Framework k vytvoření a spuštění agregovaného kanálu, který vypočítá následující statistiky pro zadané zařízení:

    • Počet zaznamenaných čtení.
    • Průměrná teplota zaznamenána.
    • Nejnižší úroveň.
    • Nejvyšší hodnota.
    • Nejnovější měření.
  3. Zavřete editor kódu a otevřete soubor App.config :

    code App.config
    
  4. Nastavte hodnotu klíče adresy na IP adresu serveru MongoDB, který jste si poznamenali dříve.

  5. Změňte port, který aplikace používá, na 8080.

  6. Uložte soubor a zavřete editor pomocí kláves CTRL + s a potom ctrl + q.

  7. Sestavte a spusťte aplikaci:

    dotnet build
    dotnet run
    
  8. Na příkazovém řádku Zadejte číslo zařízení zadejte hodnotu od 0 do 99. Aplikace se dotazuje databáze, vypočítá statistiku a zobrazí výsledky. Stisknutím klávesy Q aplikaci ukončete.

Migrace databáze MongoDB do cosmos DB

Dalším krokem je vzít databázi MongoDB a přenést ji do cosmos DB.

Vytvoření účtu a databáze Cosmos DB

  1. Vraťte se na web Azure Portal.

  2. V nabídce vyberte + Vytvořit prostředek.

  3. Na stránce Nový zadejte do pole Hledat na Marketplace *Azure Cosmos DB a stiskněte Enter.

  4. Na stránce Azure Cosmos DB vyberte Vytvořit.

  5. Na stránce Vytvořit účet služby Azure Cosmos DB zadejte následující nastavení:

    Vlastnictví Hodnota
    Skupina zdrojů Mongodbrg
    Název účtu Mongodb*nnn*, kde nnn je náhodné číslo vybrané vámi
    API Rozhraní API služby Azure Cosmos DB pro MongoDB
    Notebooks Vypnuto
    Umístění Zadejte stejné umístění, které jste použili pro server MongoDB a virtuální síť.
    Režim kapacity Zřízená propustnost
    Uplatnit slevu v rámci bezplatné úrovně Použít
    Typ účtu Neprodukční prostředí
    Verze 3.6
    Geografická redundance Zakázat
    Zápisy do více oblastí Zakázat
    Zóny dostupnosti Zakázat
  6. Vyberte možnost Zkontrolovat a vytvořit.

  7. Na stránce ověření vyberte Vytvořit a počkejte, až se účet Cosmos DB nasadí.

  8. V nabídce webu Azure Portal vyberte Všechny prostředky a pak vyberte nový účet Cosmos DB (mongodbnnn).

  9. Na stránce mongodbnnn vyberte Průzkumník dat.

  10. V podokně Průzkumník dat vyberte Nová kolekce.

  11. V podokně Přidat kolekci zadejte následující nastavení:

    Vlastnictví Hodnota
    ID databáze Vyberte Vytvořit nový a pak zadejte DeviceData.
    Zajištění propustnosti databáze vybráno
    Propustnost 10000
    ID kolekce Teploty
    Kapacita úložiště Neomezený
    Klíč horizontálního dělení DEVICEID
    Můj shardovací klíč je větší než 100 bajtů ponechat nezaškrtnuto
    Vytvořte index se zástupnými znaky pro všechna pole ponechat nezaškrtnuto
    Analytické úložiště Vypnuto
  12. Vyberte OK.

Vytvoření služby Database Migration Service

  1. Přepněte zpět na portál Azure.

  2. Klikněte na Všechny služby, klikněte na Předplatná a potom na své předplatné.

  3. Na stránce předplatného v části Nastavení klikněte na Poskytovatelé prostředků.

  4. Do pole Filtrovat podle názvu zadejte DataMigration a klepněte na tlačítko Microsoft.DataMigration.

  5. Pokud microsoft.DataMigration není zaregistrovaný, klikněte na Zaregistrovat a počkejte, až se stav změní na Registrováno. Možná bude nutné kliknout na Aktualizovat , aby se změna stavu zobrazila.

  6. V nabídce webu Azure Portal vyberte + Vytvořit prostředek.

  7. Na stránce Nový zadejte do pole Hledat na Marketplaceslužbu Azure Database Migration Service a stiskněte Enter.

  8. Na stránce Azure Database Migration Service vyberte Vytvořit.

  9. Na stránce Vytvořit službu migrace zadejte následující nastavení:

    Vlastnictví Hodnota
    Skupina zdrojů Mongodbrg
    Název služby MongoDBMigration
    Umístění Vyberte dříve použité umístění.
    Režim služby Azure
    Cenová úroveň Standard: 1 vCPU
  10. Vyberte Další: Sítě.

  11. Na stránce Sítě vyberte databasevnet/default a pak vyberte Zkontrolovat a vytvořit.

  12. Vyberte Vytvořit a počkejte, než se služba nasadí, a teprve potom pokračujte. Tato operace může trvat přibližně 10 minut.

Vytvoření a spuštění nového projektu migrace

  1. V nabídce webu Azure Portal vyberte skupiny prostředků.

  2. V okně Skupiny prostředků vyberte mongodbrg.

  3. V okně mongodbrg vyberte MongoDBMigration.

  4. Na stránce MongoDBMigration vyberte + Nový projekt migrace.

  5. Na stránce Nový projekt migrace zadejte následující nastavení:

    Vlastnictví Hodnota
    Název projektu MigrateTemperatureData
    Typ zdrojového serveru MongoDB
    Typ cílového serveru Cosmos DB (rozhraní MongoDB API)
    Zvolte typ aktivity Migrace dat offline
  6. Vyberte Vytvořit a spustit aktivitu.

  7. Po spuštění Průvodce migrací na stránce Podrobnosti o zdroji zadejte následující podrobnosti:

    Vlastnictví Hodnota
    Režim Standardní režim
    Název zdrojového serveru Zadejte hodnotu IP adresy mongodbserver-IP , kterou jste si poznamenali dříve.
    Port serveru 8080
    Uživatelské jméno správce
    Heslo Pa55w.rd
    Vyžadovat SSL zrušení výběru
  8. Vyberte Další: Vyberte cíl.

  9. Na stránce Vybrat cíl zadejte následující podrobnosti:

    Vlastnictví Hodnota
    Režim Výběr cíle služby Cosmos DB
    Výběr názvu databáze comos Mongodb*nnn*
    Připojovací řetězec Přijměte připojovací řetězec vygenerovaný pro váš účet Cosmos DB.
  10. Vyberte Další: Nastavení databáze.

  11. Na stránce Nastavení databáze zadejte následující podrobnosti:

    Vlastnictví Hodnota
    Zdrojová databáze DeviceData
    Cílová databáze DeviceData
    Propustnost (RU/s) 1000
    Vyčištění kolekcí Zrušte zaškrtnutí tohoto políčka.
  12. Vyberte Další: Nastavení kolekce.

  13. Na stránce Nastavení kolekce vyberte šipku rozevíracího seznamu u databáze DeviceData a zadejte následující podrobnosti:

    Vlastnictví Hodnota
    Název Teploty
    Cílová kolekce Teploty
    Propustnost (RU/s) 1000
    Klíč shardu DEVICEID
    Jedinečný Ponechte prázdné.
  14. Vyberte Další: Souhrn migrace.

  15. Na stránce Souhrn migrace v poli Název aktivity zadejte mongodb-migration a pak vyberte Zahájit migraci.

  16. Na stránce mongodb-migrace klikněte na Aktualizovat každých 30 sekund, dokud není migrace dokončena. Poznamenejte si počet zpracovaných dokumentů.

Ověřte, že migrace proběhla úspěšně.

  1. V nabídce webu Azure Portal vyberte Všechny prostředky.

  2. Na stránce Všechny prostředky vyberte mongodbnnn.

  3. Na stránce mongodb*nnn vyberte Průzkumník dat.

  4. V podokně Průzkumník dat rozbalte databázi DeviceData , rozbalte kolekci Temperatures a pak vyberte Dokumenty.

  5. V podokně Dokumenty procházejte seznamem dokumentů. Pro každý dokument byste měli vidět ID dokumentu (_id) a klíč shardu (/deviceID).

  6. Vyberte libovolný dokument. Měli byste vidět podrobnosti o zobrazeném dokumentu. Typický dokument vypadá takto:

    {
        "_id" : ObjectId("5ce8104bf56e8a04a2d0929a"),
        "deviceID" : "Device 83",
        "temperature" : 19.65268837271849,
        "time" : 636943091952553500
    }
    
  7. Na panelu nástrojů v podokně Průzkumník dokumentů vyberte Nové prostředí.

  8. V podokně Prostředí 1 na příkazovém > řádku zadejte následující příkaz a stiskněte Enter:

    db.Temperatures.count()
    

    Tento příkaz zobrazí počet dokumentů v kolekci Temperatures . Měl by odpovídat číslu hlášenému průvodcem migrací.

  9. Zadejte následující příkaz a stiskněte Enter:

    db.Temperatures.find({deviceID: "Device 99"})
    

    Tento příkaz načte a zobrazí dokumenty pro zařízení 99.

Změna konfigurace a spuštění existujících aplikací pro použití cosmos DB

Posledním krokem je překonfigurovat stávající aplikace MongoDB pro připojení ke službě Cosmos DB a ověřit, že stále fungují. To vyžaduje, abyste upravili způsob, jakým se vaše aplikace připojují k databázi, ale logika aplikací by měla zůstat beze změny.

  1. V podokně mongodbnnn v části Nastavení vyberte Připojovací řetězec.

  2. Na stránce připojovacího řetězce mongodbnnn si poznamenejte následující nastavení:

    • Hostitel
    • Uživatelské jméno
    • Primární heslo
  3. Vraťte se do okna Cloud Shellu (znovu se připojte, pokud vypršel časový limit relace) a přejděte do složky migration-workshop-apps/MongoDeviceDataCapture/DeviceDataQuery :

    cd ~/migration-workshop-apps/MongoDeviceDataCapture/DeviceDataQuery
    
  4. Otevřete soubor App.config v editoru kódu:

    code App.config
    
  5. V části Nastavení pro MongoDB souboru zakomentujte existující nastavení.

  6. Odkomentujte nastavení v části Nastavení rozhraní Mongo API služby Cosmos DB a nastavte hodnoty pro tato nastavení následujícím způsobem:

    Nastavení Hodnota
    Adresa Hostitel ze stránky připojovacího řetězce mongodbnnn
    Přístav PORT ze stránky Connection String mongodbnnn
    Uživatelské jméno Uživatelské jméno ze stránky připojovacího řetězce mongodbnnn
    Heslo PRIMÁRNÍ HESLO ze stránky připojovacího řetězce mongodbnnn

    Dokončený soubor by měl vypadat nějak takto:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <appSettings>
            <add key="Database" value="DeviceData" />
            <add key="Collection" value="Temperatures" />
    
            <!-- Settings for MongoDB 
            <add key="Address" value="nn.nn.nn.nn" />
            <add key="Port" value="27017" />
            <add key="Username" value="deviceadmin" />
            <add key="Password" value="Pa55w.rd" />
            End of settings for MongoDB -->
    
            <!-- Settings for CosmosDB Mongo API -->
            <add key="Address" value="mongodbnnn.documents.azure.com"/>
            <add key="Port" value="10255"/>
            <add key="Username" value="mongodbnnn"/>
            <add key="Password" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=="/>
            <!-- End of settings for CosmosDB Mongo API -->
        </appSettings>
    </configuration>
    
  7. Uložte soubor a zavřete editor kódu.

  8. Otevřete soubor Program.cs pomocí editoru kódu:

    code Program.cs
    
  9. Posuňte se dolů k metodě ConnectToDatabase .

  10. Zakomentujte řádek, který nastaví přihlašovací údaje pro připojení k MongoDB, a odkomentujte příkazy, které určují přihlašovací údaje pro připojení ke službě Cosmos DB. Kód by měl vypadat takto:

    // Connect to the MongoDB database
    MongoClient client = new MongoClient(new MongoClientSettings
    {
        Server = new MongoServerAddress(address, port),
        ServerSelectionTimeout = TimeSpan.FromSeconds(10),
    
        //
        // Credential settings for MongoDB
        //
    
        // Credential = MongoCredential.CreateCredential(database, azureLogin.UserName, azureLogin.SecurePassword),
    
        //
        // Credential settings for CosmosDB Mongo API
        //
    
        UseTls = true,
        Credential = new MongoCredential("SCRAM-SHA-1", new MongoInternalIdentity(database, azureLogin.UserName), new PasswordEvidence(azureLogin.SecurePassword))
    
        // End of Mongo API settings
    });
    

    Tyto změny jsou nezbytné, protože původní databáze MongoDB nepoužívá připojení SSL. Cosmos DB vždy používá protokol SSL.

  11. Uložte soubor a zavřete editor kódu.

  12. Znovu sestavte a spusťte aplikaci:

    dotnet build
    dotnet run
    
  13. Na příkazovém řádku Zadejte číslo zařízení zadejte číslo zařízení od 0 do 99. Aplikace by měla běžet přesně stejně jako předtím, s tím rozdílem, že tentokrát používá data uložená v databázi Cosmos DB.

Zlepšení výkonu dotazů ve službě Cosmos DB

Cosmos DB umožňuje přidat další indexy za účelem zlepšení výkonu dotazů. Přidání tohoto pole jako indexu urychlí vaše dotazy při agregaci podle id zařízení.

  1. Přepněte zpět na portál Azure.

  2. Na levé straně vyberte Průzkumník dat.

  3. V podokně Průzkumník dat rozbalte databázi DeviceData , rozbalte kolekci Teploty a pak vyberte Nastavení.

    Snímek obrazovky znázorňující přidání zásad indexování služby Cosmos DB

  4. Vyberte Zásady indexování.

  5. Pod _id přidejte nový index, zadejte deviceID pro Definici a vyberte Jedno pole pro Typ.

  6. Vyberte Uložit a přidejte nový index.

  7. Vraťte se do Cloud Shellu a zkuste dotaz zopakovat a poznamenejte si vylepšenou odpověď ve vaší aplikaci.

  8. Otestujte aplikaci s jinými čísly zařízení. Zadejte Q pro dokončení.

Úspěšně jste migrovali databázi MongoDB do služby Cosmos DB a překonfigurovali existující aplikaci MongoDB tak, aby se připojila k nové databázi Cosmos DB.

Vyčištění prostředků, které jste vytvořili

Důležité

Pokud jste tyto kroky provedli ve vlastním osobním předplatném, můžete prostředky odstranit jednotlivě nebo odstranit skupinu prostředků a odstranit tak celou sadu prostředků. Prostředky ponechané v provozu mohou způsobit výdaje.

  1. Spuštěním tohoto příkazu v Cloud Shellu odstraňte skupinu prostředků:

    az group delete --name mongodbrg