Cvičení: Migrace úloh MongoDB do Cosmos DB
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íť
Ve webovém prohlížeči otevřete novou kartu a přejděte na portál Azure.
Na webu Azure Portal vyberte skupiny prostředků a pak vyberte +Přidat.
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í. Vyberte Zkontrolovat a vytvořit a poté vyberte Vytvořit. Počkejte na vytvoření skupiny prostředků.
V nabídce webu Azure Portal vyberte + Vytvořit prostředek.
Na stránce Nový zadejte do pole Hledat na Marketplacevirtuální síť a stiskněte Enter.
Na stránce Virtuální síť vyberte Vytvořit.
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ů. Na stránce IP adresy nastavte adresní prostor IPv4 na 10.0.0.0/24.
Vyberte výchozí podsíť a pak vyberte Odebrat podsíť.
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.
Na stránce IP adresy vyberte Další: Zabezpečení.
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.
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
V nabídce webu Azure Portal vyberte + Vytvořit prostředek.
Do pole Hledat na Marketplace zadejte Ubuntu a stiskněte Enter.
Na stránce Marketplace vyberte Ubuntu Server 18.04 LTS.
Na stránce Ubuntu Server 18.04 LTS vyberte Vytvořit.
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) Vyberte Další: Disky >.
Na stránce Disky ponechte výchozí nastavení a pak vyberte Další: Sítě >.
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 Vyberte Zkontrolovat + vytvořit >.
Na stránce ověření vyberte Vytvořit.
Než budete pokračovat, počkejte, než se virtuální počítač nasadí.
V nabídce webu Azure Portal vyberte Všechny prostředky.
Na stránce Všechny prostředky vyberte mongodbserver-nsg.
Na stránce mongodbserver-nsg v části Nastavení vyberte Příchozí pravidla zabezpečení.
Na stránce mongodbserver-nsg - Pravidla zabezpečení pro příchozí spojení vyberte + Přidat.
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 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
V nabídce webu Azure Portal vyberte Všechny prostředky.
Na stránce Všechny prostředky vyberte mongodbserver-ip.
Na stránce mongodbserver-ip si poznamenejte IP adresu.
Na panelu nástrojů v horní části webu Azure Portal vyberte Cloud Shell.
Pokud se zobrazí okno Zpráva Nemáte připojené úložiště , vyberte Vytvořit úložiště.
Po spuštění Cloud Shellu v rozevíracím seznamu nad oknem Cloud Shellu vyberte Bash.
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>Na příkazovém řádku zadejte ano , pokud chcete pokračovat v připojování.
Zadejte heslo Pa55w.rdPa55w.rd.
Pokud chcete znovu načíst databázi balíčku, zadejte tento příkaz:
sudo apt-get updatePokud chcete nainstalovat MongoDB, zadejte tento příkaz:
sudo apt-get install -y mongodbInstalace 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.
Pokud chcete otevřít konfigurační soubor MongoDB, spusťte tento příkaz:
sudo nano /etc/mongodb.confV souboru vyhledejte nastavení bind_ip a nastavte ho na 0.0.0.0.
Vyhledejte nastavení portu a nastavte ho na 8080.
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.
Pokud chcete restartovat službu MongoDB a použít změny, zadejte tento příkaz:
sudo service mongodb restartPokud se chcete připojit ke službě MongoDB, zadejte tento příkaz:
mongo --host 127.0.0.1:8080Na příkazovém > řádku spusťte tento příkaz, abyste přešli do databáze správce :
use admin;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
mongodosáhne středníku:db.createUser( { user: "administrator", pwd: "Pa55w.rd", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, { role: "clusterMonitor", db:"admin" }, "readWriteAnyDatabase" ] } );Chcete-li program ukončit
mongo, zadejte tento příkaz;exit;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:8080Pokud chcete přepnout do databáze DeviceData , spusťte tento příkaz:
use DeviceData;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" } ] } );Chcete-li program ukončit
mongo, zadejte tento příkaz;exit;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 restartSpuš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:8080Na příkazovém > řádku spuštěním následujícího příkazu ukončete prostředí Mongo Shell:
exit;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
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-appsPřejděte do složky migration-workshop-apps/MongoDeviceDataCapture/MongoDeviceCapture :
cd ~/migration-workshop-apps/MongoDeviceDataCapture/MongoDeviceDataCapturePomocí editoru kódu prozkoumejte soubor TemperatureDevice.cs :
code TemperatureDevice.csKó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.
Zavřete editor kódu a otevřete ThermometerReading.cs soubor :
code ThermometerReading.csTento 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.
Zavřete editor kódu a otevřete soubor App.config :
code App.configTento soubor obsahuje nastavení pro připojení k databázi MongoDB.
Nastavte hodnotu klíče adresy na IP adresu serveru MongoDB, který jste si poznamenali dříve.
Změňte port, který aplikace používá, na 8080.
Uložte soubor a zavřete editor pomocí kláves CTRL + s a potom ctrl + q.
Spuštěním následujícího příkazu znovu sestavte aplikaci:
dotnet buildMůže to trvat přibližně 5 minut.
Spusťte aplikaci:
dotnet runAplikace 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
Přejděte do složky DP160T00A-Migrating-your-Database-to-Cosmos-DB/MongoDeviceDataCapture/DeviceDataQuery :
cd ~/migration-workshop-apps/MongoDeviceDataCapture/DeviceDataQueryTato složka obsahuje jinou aplikaci, kterou můžete použít k analýze dat zachycených jednotlivými zařízeními.
Pomocí editoru kódu prozkoumejte soubor Program.cs :
code Program.csAplikace 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í.
Zavřete editor kódu a otevřete soubor App.config :
code App.configNastavte hodnotu klíče adresy na IP adresu serveru MongoDB, který jste si poznamenali dříve.
Změňte port, který aplikace používá, na 8080.
Uložte soubor a zavřete editor pomocí kláves CTRL + s a potom ctrl + q.
Sestavte a spusťte aplikaci:
dotnet build dotnet runNa 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
Vraťte se na web Azure Portal.
V nabídce vyberte + Vytvořit prostředek.
Na stránce Nový zadejte do pole Hledat na Marketplace *Azure Cosmos DB a stiskněte Enter.
Na stránce Azure Cosmos DB vyberte Vytvořit.
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 Vyberte možnost Zkontrolovat a vytvořit.
Na stránce ověření vyberte Vytvořit a počkejte, až se účet Cosmos DB nasadí.
V nabídce webu Azure Portal vyberte Všechny prostředky a pak vyberte nový účet Cosmos DB (mongodbnnn).
Na stránce mongodbnnn vyberte Průzkumník dat.
V podokně Průzkumník dat vyberte Nová kolekce.
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 Vyberte OK.
Vytvoření služby Database Migration Service
Přepněte zpět na portál Azure.
Klikněte na Všechny služby, klikněte na Předplatná a potom na své předplatné.
Na stránce předplatného v části Nastavení klikněte na Poskytovatelé prostředků.
Do pole Filtrovat podle názvu zadejte DataMigration a klepněte na tlačítko Microsoft.DataMigration.
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.
V nabídce webu Azure Portal vyberte + Vytvořit prostředek.
Na stránce Nový zadejte do pole Hledat na Marketplaceslužbu Azure Database Migration Service a stiskněte Enter.
Na stránce Azure Database Migration Service vyberte Vytvořit.
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 Vyberte Další: Sítě.
Na stránce Sítě vyberte databasevnet/default a pak vyberte Zkontrolovat a vytvořit.
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
V nabídce webu Azure Portal vyberte skupiny prostředků.
V okně Skupiny prostředků vyberte mongodbrg.
V okně mongodbrg vyberte MongoDBMigration.
Na stránce MongoDBMigration vyberte + Nový projekt migrace.
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 Vyberte Vytvořit a spustit aktivitu.
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 Vyberte Další: Vyberte cíl.
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. Vyberte Další: Nastavení databáze.
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. Vyberte Další: Nastavení kolekce.
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é. Vyberte Další: Souhrn migrace.
Na stránce Souhrn migrace v poli Název aktivity zadejte mongodb-migration a pak vyberte Zahájit migraci.
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ě.
V nabídce webu Azure Portal vyberte Všechny prostředky.
Na stránce Všechny prostředky vyberte mongodbnnn.
Na stránce mongodb*nnn vyberte Průzkumník dat.
V podokně Průzkumník dat rozbalte databázi DeviceData , rozbalte kolekci Temperatures a pak vyberte Dokumenty.
V podokně Dokumenty procházejte seznamem dokumentů. Pro každý dokument byste měli vidět ID dokumentu (_id) a klíč shardu (/deviceID).
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 }Na panelu nástrojů v podokně Průzkumník dokumentů vyberte Nové prostředí.
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í.
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.
V podokně mongodbnnn v části Nastavení vyberte Připojovací řetězec.
Na stránce připojovacího řetězce mongodbnnn si poznamenejte následující nastavení:
- Hostitel
- Uživatelské jméno
- Primární heslo
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/DeviceDataQueryOtevřete soubor App.config v editoru kódu:
code App.configV části Nastavení pro MongoDB souboru zakomentujte existující nastavení.
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>Uložte soubor a zavřete editor kódu.
Otevřete soubor Program.cs pomocí editoru kódu:
code Program.csPosuňte se dolů k metodě ConnectToDatabase .
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.
Uložte soubor a zavřete editor kódu.
Znovu sestavte a spusťte aplikaci:
dotnet build dotnet runNa 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í.
Přepněte zpět na portál Azure.
Na levé straně vyberte Průzkumník dat.
V podokně Průzkumník dat rozbalte databázi DeviceData , rozbalte kolekci Teploty a pak vyberte Nastavení.
Vyberte Zásady indexování.
Pod _id přidejte nový index, zadejte deviceID pro Definici a vyberte Jedno pole pro Typ.
Vyberte Uložit a přidejte nový index.
Vraťte se do Cloud Shellu a zkuste dotaz zopakovat a poznamenejte si vylepšenou odpověď ve vaší aplikaci.
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.
Spuštěním tohoto příkazu v Cloud Shellu odstraňte skupinu prostředků:
az group delete --name mongodbrg