Gyakorlat: MongoDB-számítási feladatok migrálása a Cosmos DB-be

Befejeződött

Olyan közművállalatnál dolgozik, amely hőmérsékleti adatokat gyűjtő IoT-érzékelőkkel rendelkezik. A hőmérsékletek egy MongoDB-adatbázisban vannak naplózva egy időbélyeggel együtt. Minden eszköz egyedi azonosítóval rendelkezik. Egy MongoDB-alkalmazást fog futtatni, amely szimulálja ezeket az eszközöket, és tárolja az adatokat az adatbázisban. Egy második alkalmazást is használ, amely lehetővé teszi a felhasználó számára az egyes eszközök statisztikai adatainak lekérdezését. Miután migrálta az adatbázist a MongoDB-ből a Cosmos DB-be, mindkét alkalmazást konfigurálnia kell a Cosmos DB-hez való csatlakozáshoz, és ellenőriznie kell, hogy továbbra is megfelelően működnek-e.

Ebben a gyakorlatban egy meglévő MongoDB-adatbázist fog áttelepíteni a Cosmos DB-be. Az Azure Database Migration Service-t fogja használni. Azt is látni fogja, hogyan konfigurálhatja újra a MongoDB-adatbázist használó meglévő alkalmazásokat a Cosmos DB-adatbázishoz való csatlakozáshoz.

Fontos

Az Azure Data Migration Service nem támogatott az ingyenes Azure-tesztkörnyezetben. Ezeket a lépéseket saját személyes előfizetésében hajthatja végre, vagy egyszerűen kövesse az adatbázis migrálásának módját.

MongoDB-adatbázis létrehozása az Azure-ban

Először létre kell hoznia a MongoDB-adatbázist a hőmérsékleti eszközökről rögzített adatok megtartásához.

Erőforráscsoport és virtuális hálózat létrehozása

  1. Webböngésző használatával nyisson meg egy új lapot, és lépjen az Azure Portalra.

  2. Az Azure Portalon válassza erőforráscsoportok, majd a +hozzáadása lehetőséget.

  3. Az Erőforráscsoport létrehozása laponadja meg a következő adatokat:

    Ingatlan Érték
    Előfizetés előfizetési<>
    Erőforráscsoport mongodbrg
    Régió Válassza ki a legközelebbi helyet
  4. Válassza a Véleményezés + Létrehozás lehetőséget, majd a Létrehozás lehetőséget. Várja meg, amíg az erőforráscsoport létrejön.

  5. Az Azure Portal menüjében válassza a + Erőforrás létrehozásalehetőséget.

  6. Az Új lap Keresés a Marketplace mezőjébe írja be virtuális hálózat, majd nyomja le az Enter billentyűt.

  7. A Virtuális hálózat lapon válassza a létrehozása lehetőséget.

  8. A Virtuális hálózat létrehozása lapon adja meg a következő adatokat, majd válassza Tovább: IP-címek:

    Ingatlan Érték
    Erőforráscsoport mongodbrg
    Név databasevnet
    Régió Válassza ki ugyanazt a helyet, amelyet az erőforráscsoporthoz megadott
  9. Az IP-címek lapon állítsa a IPv4-címteret 10.0.0.0/24 .

  10. Jelölje ki az alapértelmezett alhálózatot, majd válassza az Alhálózat eltávolításalehetőséget.

  11. Válassza a + Alhálózat hozzáadásalehetőséget. Az Alhálózat hozzáadása panelen állítsa a alhálózat nevét az alapértelmezett , állítsa a alhálózat címtartományát 10.0.0.0/28 , majd válassza hozzáadása lehetőséget.

  12. Az IP-címek lapon válassza a következő : Biztonságilehetőséget.

  13. A Biztonsági lapon ellenőrizze, hogy Azure DDoS Network ProtectionTiltsa le, és tűzfalTiltsa le. Válassza a Véleményezés + létrehozás lehetőséget.

  14. A Virtuális hálózat létrehozása lapon válassza a létrehozása lehetőséget. A folytatás előtt várja meg, amíg létrejön a virtuális hálózat.

MongoDB-adatbáziskiszolgáló létrehozása

  1. Az Azure Portal menüjében válassza a + Erőforrás létrehozásalehetőséget.

  2. A Keresés a Marketplace mezőbe írja be Ubuntu, majd nyomja le az Enter billentyűt.

  3. A Marketplace lapon válassza Ubuntu Server 18.04 LTSlehetőséget.

  4. Az Ubuntu Server 18.04 LTS lapon válassza a létrehozás lehetőséget.

  5. A Virtuális gép létrehozása lapon adja meg a következő adatokat:

    Ingatlan Érték
    Erőforráscsoport mongodbrg
    Virtuális gép neve mongodbserver
    Régió Válassza ki ugyanazt a helyet, amelyet az erőforráscsoporthoz megadott
    Rendelkezésre állási lehetőségek Nem szükséges infrastruktúra-redundancia
    Image Ubuntu Server 18.04 LTS – Gen1
    Azure Spot-példány Ellenőrizetlen
    Méret Standard A1_v2
    Hitelesítési típus Jelszó
    Felhasználónév azureuser
    Jelszó Pa55w.rdPa55w.rd
    Jelszó megerősítése Pa55w.rdPa55w.rd
    Nyilvános bejövő portok Kiválasztott portok engedélyezése
    Bejövő portok kiválasztása SSH (22)
  6. Válassza a Következő: Lemezek > opciót.

  7. A Lemezek lapon hagyja meg az alapértelmezett beállításokat, majd válassza a következő : Hálózatkezelés >lehetőséget.

  8. A Hálózatkezelés lapon adja meg a következő adatokat:

    Ingatlan Érték
    Virtuális hálózat databasevnet
    Alhálózat alapértelmezett (10.0.0.0/28)
    Nyilvános IP-cím (új) mongodbserver-ip
    NIC hálózati biztonsági csoport Speciális
    Hálózati biztonsági csoport konfigurálása (új) mongodbserver-nsg
    Gyorsított hálózatkezelés Ellenőrizetlen
    Terheléselosztás Ellenőrizetlen
  9. Válassza a Véleményezés + létrehozás> lehetőséget.

  10. Az érvényesítési lapon válassza a létrehozása lehetőséget.

  11. Várakozás a virtuális gép üzembe helyezésére a folytatás előtt

  12. Az Azure Portal menüjében válassza a Minden erőforráslehetőséget.

  13. A Minden erőforrás lapon válassza mongodbserver-nsglehetőséget.

  14. A mongodbserver-nsg lapon, a Beállításokterületen válassza Bejövő biztonsági szabályoklehetőséget.

  15. A mongodbserver-nsg – Bejövő biztonsági szabályok lapon válassza a +hozzáadása lehetőséget.

  16. A Bejövő biztonsági szabály hozzáadása panelen adja meg a következő adatokat:

    Ingatlan Érték
    Forrás Bármely
    Forrásporttartományok *
    Célállomás Bármely
    Célporttartományok 8080
    Protokoll Bármely
    Cselekvés Engedélyezés
    Elsőbbség 1030
    Név Mongodb-port
    Leírás Port, amelyet az ügyfelek a MongoDB-hez való csatlakozáshoz használnak
  17. Válassza a Hozzáadás lehetőséget.

Megjegyzés

Ebben a gyakorlatban úgy konfigurálja a MongoDB-t, hogy a 8080-as portot használja. Ezt csak biztonsági korlátozások miatt kell elvégeznie ebben a környezetben. Általában a 27017-alapértelmezett MongoDB-portját használná.

A MongoDB telepítése

  1. Az Azure Portal menüjében válassza a Minden erőforráslehetőséget.

  2. A Minden erőforrás lapon válassza mongodbserver-iplehetőséget.

  3. A mongodbserver-ip lapon jegyezze fel a IP-cím.

  4. Az Azure Portal tetején található eszköztáron válassza Cloud Shelllehetőséget.

  5. Ha megjelenik a Nincs tárolóra csatlakoztatva üzenetmező, válassza a Tárterület létrehozásalehetőséget.

  6. A Cloud Shell indításakor a Cloud Shell ablak feletti legördülő listában válassza Bashlehetőséget.

  7. A Cloud Shellben adja meg a következő parancsot a mongodbserver virtuális géphez való csatlakozáshoz. Cserélje le <IP-cím> értékét a mongodbserver-ip IP-cím értékére:

    ssh azureuser@<ip address>
    
  8. A parancssorba írja be igen a csatlakozás folytatásához.

  9. Adja meg a pa55w.rdPa55w.rd jelszót.

  10. A csomagadatbázis újratöltéséhez írja be a következő parancsot:

    sudo apt-get update
    
  11. A MongoDB telepítéséhez írja be a következő parancsot:

    sudo apt-get install -y mongodb
    

    A telepítés során a csomagok telepítésével, előkészítésével és kicsomagolásával kapcsolatos üzeneteket kell megjeleníteni. A telepítés végrehajtása eltarthat néhány percig.

A MongoDB-adatbázis konfigurálása

Alapértelmezés szerint a Mongo DB-példány hitelesítés nélküli futtatásra van konfigurálva. Ebben a feladatban úgy konfigurálja a MongoDB-t, hogy a helyi hálózati adapterhez kösse, hogy más számítógépekről is fogadhassa a kapcsolatokat. Emellett engedélyezi a hitelesítést, és létrehozza a migrálás végrehajtásához szükséges felhasználói fiókot. Végül hozzáad egy fiókot, amellyel egy tesztalkalmazás lekérdezheti az adatbázist.

  1. A MongoDB konfigurációs fájljának megnyitásához futtassa a következő parancsot:

    sudo nano /etc/mongodb.conf
    
  2. A fájlban keresse meg a bind_ip beállítást, és állítsa be a 0.0.0.0értékre.

  3. Keresse meg a port beállítást, és állítsa be a 8080értékre.

  4. A konfigurációs fájl mentéséhez nyomja le Esc, majd nyomja le CTRL + Xbillentyűkombinációt. Nyomja le y, majd a módosított puffer mentéséhez Enter.

  5. A MongoDB szolgáltatás újraindításához és a módosítások alkalmazásához írja be a következő parancsot:

    sudo service mongodb restart
    
  6. A MongoDB szolgáltatáshoz való csatlakozáshoz írja be a következő parancsot:

    mongo --host 127.0.0.1:8080
    
  7. Az > parancssorban a következő parancs futtatásával válthat a rendszergazdai adatbázisra:

    use admin;
    
  8. Ha rendszergazdainevű új felhasználót szeretne létrehozni, futtassa a következő parancsot. A jobb olvashatóság érdekében a parancsot egy sorban vagy több sorban is megadhatja. A parancs akkor hajtható végre, amikor a mongo program eléri a pontosvesszőt:

    db.createUser(
        {
            user: "administrator",
            pwd: "Pa55w.rd",
            roles: [
                { role: "userAdminAnyDatabase", db: "admin" },
                { role: "clusterMonitor", db:"admin" },
                "readWriteAnyDatabase"
            ]
        }
    );
    
  9. A mongo programból való kilépéshez írja be ezt a parancsot;

    exit;
    
  10. Ha az új rendszergazda fiókjával szeretne csatlakozni a MongoDB-hez, futtassa a következő parancsot:

    mongo admin -u "administrator" -p "Pa55w.rd" --host 127.0.0.1:8080
    
  11. Az DeviceData-adatbázisra való váltáshoz hajtsa végre a következő parancsot:

    use DeviceData;    
    
  12. Ha deviceadminnevű felhasználót szeretne létrehozni, amelyet az alkalmazás az adatbázishoz való csatlakozáshoz használ, futtassa a következő parancsot:

    db.createUser(
        {
            user: "deviceadmin",
            pwd: "Pa55w.rd",
            roles: [ { role: "readWrite", db: "DeviceData" } ]
        }
    );
    
  13. A mongo programból való kilépéshez írja be ezt a parancsot;

    exit;
    
  14. Futtassa a következő parancsot, indítsa újra a mongodb szolgáltatást. Ellenőrizze, hogy a szolgáltatás hibaüzenetek nélkül újraindul-e:

    sudo service mongodb restart
    
  15. Futtassa a következő parancsot annak ellenőrzéséhez, hogy most már bejelentkezhet-e a mongodb-ba eszközadmin-felhasználóként:

    mongo DeviceData -u "deviceadmin" -p "Pa55w.rd" --host 127.0.0.1:8080
    
  16. A > parancssorba írja be ezt a parancsot, hogy kilépjen a mongo shellből:

    exit;
    
  17. A bash-parancssorban futtassa a következő parancsot a MongoDB-kiszolgálóról való leválasztáshoz és a Cloud Shellhez való visszatéréshez:

    exit
    

A MongoDB-adatbázis feltöltése és lekérdezése

Most létrehozott egy MongoDB-kiszolgálót és -adatbázist. A következő lépés az adatbázis adatainak feltöltésére és lekérdezésére képes mintaalkalmazások bemutatása.

Alkalmazás létrehozása és futtatása a MongoDB-adatbázis feltöltéséhez

  1. Az Azure Cloud Shellben futtassa a következő parancsot a mintakód letöltéséhez:

    git clone https://github.com/MicrosoftLearning/DP-060T00A-Migrating-your-Database-to-Cosmos-DB migration-workshop-apps
    
  2. Lépjen a migration-workshop-apps/MongoDeviceDataCapture/MongoDeviceCapture mappába:

    cd ~/migration-workshop-apps/MongoDeviceDataCapture/MongoDeviceDataCapture
    
  3. A TemperatureDevice.cs fájl vizsgálatához használja a Code szerkesztőt:

    code TemperatureDevice.cs
    

    A fájlban található kód egy TemperatureDevice nevű osztályt tartalmaz, amely szimulál egy hőmérsékleti eszközt, amely adatokat rögzít és MongoDB-adatbázisban menti. A MongoDB-kódtárat használja a .NET-keretrendszerhez. A TemperatureDevice konstruktor az alkalmazáskonfigurációs fájlban tárolt beállítások használatával csatlakozik az adatbázishoz. A RecordTemperatures metódus olvasást generál, és az adatbázisba írja.

  4. Zárja be a kódszerkesztőt, majd nyissa meg a ThermometerReading.cs fájlt:

    code ThermometerReading.cs
    

    Ez a fájl az alkalmazás által az adatbázisban tárolt dokumentumok struktúráját mutatja be. Minden dokumentum a következő mezőket tartalmazza:

    • Objektumazonosító. A MongoDB által létrehozott "_id" mező az egyes dokumentumok egyedi azonosításához.
    • Eszközazonosító. Minden eszköz rendelkezik egy "Device" előtaggal rendelkező számmal.
    • Az eszköz által rögzített hőmérséklet.
    • A hőmérséklet rögzítésének dátuma és időpontja.
  5. Zárja be a kódszerkesztőt, majd nyissa meg a App.config fájlt:

    code App.config
    

    Ez a fájl tartalmazza a MongoDB-adatbázishoz való csatlakozás beállításait.

  6. Állítsa a Cím kulcs értékét a mongoDB-kiszolgáló korábban rögzített IP-címére.

  7. Módosítsa az alkalmazás által a 8080 használt portot.

  8. Mentse a fájlt, és zárja be a szerkesztőt CTRL + s, majd CTRL + q használatával.

  9. Futtassa a következő parancsot az alkalmazás újraépítéséhez:

    dotnet build
    

    Ez körülbelül 5 percet vehet igénybe.

  10. Futtassa az alkalmazást:

    dotnet run
    

    Az alkalmazás 100 egyidejűleg futó eszközt szimulál. Hagyja, hogy az alkalmazás néhány percig fusson, majd az Enter billentyűt lenyomva állítsa le.

Egy másik alkalmazás létrehozása és futtatása a MongoDB-adatbázis lekérdezéséhez

  1. Lépjen a DP160T00A-Migrating-your-Database-to-Cosmos-DB/MongoDeviceDataCapture/DeviceDataQuery mappába:

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

    Ez a mappa egy másik alkalmazást tartalmaz, amellyel elemezheti az egyes eszközök által rögzített adatokat.

  2. A Program.cs fájl vizsgálatához használja a Code szerkesztőt:

    code Program.cs
    

    Az alkalmazás csatlakozik az adatbázishoz (a fájl alján található ConnectToDatabase metódus használatával), majd egy eszközszámot kér a felhasználótól. Az alkalmazás a .NET-keretrendszer MongoDB-kódtárával hoz létre és futtat egy összesített folyamatot, amely kiszámítja a megadott eszköz alábbi statisztikáit:

    • A rögzített leolvasások száma.
    • A rögzített átlagos hőmérséklet.
    • A legalacsonyabb érték.
    • A legmagasabb érték.
    • A legújabb olvasat.
  3. Zárja be a kódszerkesztőt, majd nyissa meg a App.config fájlt:

    code App.config
    
  4. Állítsa a Cím kulcs értékét a mongoDB-kiszolgáló korábban rögzített IP-címére.

  5. Módosítsa az alkalmazás által a 8080 használt portot.

  6. Mentse a fájlt, és zárja be a szerkesztőt CTRL + s, majd CTRL + q használatával.

  7. Az alkalmazás létrehozása és futtatása:

    dotnet build
    dotnet run
    
  8. Az Adja meg az eszközszám parancssorban adjon meg egy 0 és 99 közötti értéket. Az alkalmazás lekérdezi az adatbázist, kiszámítja a statisztikákat, és megjeleníti az eredményeket. Az alkalmazásból való kilépéshez nyomja le Q.

A MongoDB-adatbázis migrálása a Cosmos DB-be

A következő lépés a MongoDB-adatbázis áthelyezése a Cosmos DB-be.

Cosmos-fiók és -adatbázis létrehozása

  1. Térjen vissza az Azure Portalra.

  2. A menüben válassza a + Erőforrás létrehozásalehetőséget.

  3. Az Új lapon, a Marketplace keresése mezőben írja be, hogy *Azure Cosmos DB, majd nyomja meg az Enter billentyűt.

  4. Az Azure Cosmos DB lapon válassza Létrehozás.

  5. Az Azure Cosmos DB-fiók létrehozása lapon adja meg a következő beállításokat:

    Ingatlan Érték
    Erőforráscsoport mongodbrg
    Fióknév mongodb*nnn*, ahol nnn egy ön által kiválasztott véletlenszerű szám
    API MongoDB API-hoz készült Azure Cosmos DB
    Notebooks Ki
    Elhelyezkedés Adja meg ugyanazt a helyet, amelyet a MongoDB-kiszolgálóhoz és a virtuális hálózathoz használt
    Kapacitásmód Kiosztott átviteli sebesség
    Ingyenes szintű kedvezmény alkalmazása alkalmazása
    Fiók típusa nem éles
    verzió 3.6
    Földrajzi redundancia letiltása
    Többrégiós írások letiltása
    Availability Zones letiltása
  6. Válassza a Véleményezés + létrehozás lehetőséget.

  7. Az érvényesítési lapon válassza a létrehozása lehetőséget, és várja meg a Cosmos DB-fiók üzembe helyezését.

  8. Az Azure Portal menüjében válassza a Minden erőforráslehetőséget, majd válassza ki az új Cosmos DB-fiókot (mongodbnnn).

  9. A mongodbnnn lapon válassza Adatkezelőlehetőséget.

  10. Az Adatkezelő panelen válassza Új gyűjteménylehetőséget.

  11. A Gyűjtemény hozzáadása panelen adja meg a következő beállításokat:

    Ingatlan Érték
    Adatbázis-azonosító Válassza a Új létrehozása lehetőséget, majd írja be DeviceData
    Adatbázis átviteli sebességének kiépítése kijelölt
    Áteresztőképesség 10000
    Gyűjtemény azonosítója hőmérsékletek
    Tárolókapacitás Korlátlan
    Felosztókulcs deviceID
    A szeletkulcs nagyobb, mint 100 bájt hagyja kijelöletlenül
    Helyettesítő karakter index létrehozása minden mezőn hagyja kijelöletlenül
    Elemző tároló Ki
  12. Válassza az OK gombot.

Az Adatbázis-migrálási szolgáltatás létrehozása

  1. Váltson vissza az Azure Portalra.

  2. Kattintson az Összes szolgáltatás elemre, majd az Előfizetések elemre, majd az előfizetésre.

  3. Az előfizetési lapon a Beállítások csoportban kattintson az Erőforrás-szolgáltatók elemre.

  4. A Szűrés név szerint mezőbe írja be DataMigration kifejezést, majd kattintson a Microsoft.DataMigration elemre.

  5. Ha a Microsoft.DataMigration nincs regisztrálva, kattintson a Regisztráció gombra, és várja meg, amíg az állapot regisztrálva lesz. Előfordulhat, hogy az állapotváltozás megtekintéséhez a Frissítés gombra kell kattintania.

  6. Az Azure Portal menüjében válassza a + Erőforrás létrehozásalehetőséget.

  7. Az Új lap Keresés a Marketplace mezőben írja be Azure Database Migration Service, majd nyomja le az Enter billentyűt.

  8. Az Azure Database Migration Service oldalán válassza a Létrehozás lehetőséget.

  9. A Migrálási szolgáltatás létrehozása lapon adja meg a következő beállításokat:

    Ingatlan Érték
    Erőforráscsoport mongodbrg
    Szolgáltatás neve MongoDBMigration
    Elhelyezkedés Válassza a korábban használt helyet
    Szolgáltatásmód Kék
    Árkategória Standard: 1 virtuális mag
  10. Válassza a Tovább: Hálózatkezelés lehetőséget.

  11. A Hálózatkezelés lapon válassza databasevnet/alapértelmezett, majd válassza a Véleményezés + létrehozáslehetőséget.

  12. Válassza létrehozása lehetőséget, és várja meg, amíg a szolgáltatás üzembe lesz helyezve a folytatás előtt. Ez a művelet körülbelül 10 percet vehet igénybe.

Új migrálási projekt létrehozása és futtatása

  1. Az Azure Portal menüjében válassza erőforráscsoportoklehetőséget.

  2. Az Erőforráscsoportok ablakban válassza mongodbrglehetőséget.

  3. A mongodbrg ablakban válassza MongoDBMigrationlehetőséget.

  4. Az MongoDBMigration lapon válassza a + Új áttelepítési projektlehetőséget.

  5. Az Új áttelepítési projekt lapon adja meg a következő beállításokat:

    Ingatlan Érték
    Projekt neve MigrateTemperatureData
    Forráskiszolgáló típusa MongoDB
    Célkiszolgáló típusa Cosmos DB (MongoDB API)
    Válassza ki a tevékenység típusát Offline adatmigrálás
  6. Válassza Tevékenység létrehozása és futtatásalehetőséget.

  7. A migrálási varázsló elindulásakor a Forrás részletei lapon adja meg a következő adatokat:

    Ingatlan Érték
    Üzemmód Standard mód
    Forráskiszolgáló neve Adja meg a korábban rögzített mongodbserver-ip IP-cím értékét
    Kiszolgálóport 8080
    Felhasználónév rendszergazda
    Jelszó Pa55w.rd
    SSL megkövetelése törölve a kijelölésből
  8. Válassza a Tovább: Célkiválasztása lehetőséget.

  9. A Cél kiválasztása lapon adja meg a következő adatokat:

    Ingatlan Érték
    Üzemmód Válassza ki a Cosmos DB célpontot
    Comos DB-név kiválasztása mongodb*nnn*
    Csatlakozási karakterlánc Fogadja el a Cosmos DB-fiókhoz létrehozott kapcsolati karakterláncot
  10. Válassza Tovább: Adatbázis beállításalehetőséget.

  11. Az Adatbázis beállítása lapon adja meg a következő adatokat:

    Ingatlan Érték
    Forrásadatbázis DeviceData
    Céladatbázis DeviceData
    Átbocsátás (RU/s) 1000
    Gyűjtemények törlése A mező törlése
  12. Válassza Tovább: Gyűjtemény beállításalehetőséget.

  13. A Gyűjtemény beállítás lapon válassza a DeviceData adatbázis melletti legördülő nyilat, és adja meg a következő adatokat:

    Ingatlan Érték
    Név hőmérsékletek
    Target gyűjtemény hőmérsékletek
    Átbocsátás (RU/s) 1000
    Szegmenskulcs deviceID
    Egyedülálló Hagyja üresen
  14. Válassza a következőt: Migrálás összegzése.

  15. Az Áttelepítés összegzése lapon, a Tevékenység neve mezőben adja meg mongodb-migration, majd válassza Áttelepítés indításalehetőséget.

  16. A mongodb-migration lapon válassza Frissítés 30 másodpercenként, amíg az áttelepítés befejeződik. Figyelje meg a feldolgozott dokumentumok számát.

Ellenőrizze, hogy a migrálás sikeres volt-e

  1. Az Azure Portal menüjében válassza a Minden erőforráslehetőséget.

  2. A Minden erőforrás lapon válassza mongodbnnnlehetőséget.

  3. A mongodb*nnn lapon válassza Adatkezelőlehetőséget.

  4. Az Data Explorer panelen bontsa ki a DeviceData adatbázist, bontsa ki a Hőmérsékletek gyűjteményt, majd válassza Dokumentumoklehetőséget.

  5. Az Dokumentumok panelen görgessen végig a dokumentumok listáján. Minden dokumentumhoz látnia kell egy dokumentumazonosítót (_id) és a szegmenskulcsot (/deviceID).

  6. Jelöljön ki egy dokumentumot. Látnia kell a dokumentum részleteit. Egy tipikus dokumentum a következőképpen néz ki:

    {
        "_id" : ObjectId("5ce8104bf56e8a04a2d0929a"),
        "deviceID" : "Device 83",
        "temperature" : 19.65268837271849,
        "time" : 636943091952553500
    }
    
  7. A Dokumentumkezelő panel eszköztárán válassza New Shelllehetőséget.

  8. A Shell 1 panelen, a > parancssorban adja meg a következő parancsot, majd nyomja le az Enter billentyűt:

    db.Temperatures.count()
    

    Ez a parancs a Hőmérsékletek gyűjtemény dokumentumainak számát jeleníti meg. Ennek meg kell egyeznie a Migrálás varázsló által jelentett számmal.

  9. Írja be a következő parancsot, majd nyomja le az Enter billentyűt:

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

    Ez a parancs lekéri és megjeleníti a Device 99 dokumentumait.

Meglévő alkalmazások újrakonfigurálása és futtatása a Cosmos DB használatához

Az utolsó lépés a meglévő MongoDB-alkalmazások újrakonfigurálása a Cosmos DB-hez való csatlakozáshoz, és annak ellenőrzése, hogy továbbra is működnek-e. Ehhez módosítania kell az alkalmazások adatbázishoz való kapcsolódásának módját, de az alkalmazások logikájának változatlannak kell maradnia.

  1. A mongodbnnn panel Beállítások területén válassza a Kapcsolati karakterlánc lehetőséget.

  2. A mongodbnnn Kapcsolati karakterlánc oldalon jegyezze fel a következő beállításokat:

    • Házigazda
    • Felhasználónév
    • Elsődleges jelszó
  3. Térjen vissza a Cloud Shell ablakához (ha a munkamenet túllépte az időkorlátot), és lépjen a migration-workshop-apps/MongoDeviceDataCapture/DeviceDataQuery mappába:

    cd ~/migration-workshop-apps/MongoDeviceDataCapture/DeviceDataQuery
    
  4. Nyissa meg a App.config fájlt a Kódszerkesztőben:

    code App.config
    
  5. A MongoDB beállításai szakaszában megjegyzést fűzzön a meglévő beállításokhoz.

  6. Törölje a Cosmos DB Mongo API beállításai szakasz beállításait, és állítsa be az alábbi beállítások értékeit:

    Beállítás Érték
    Cím A HOST a mongodbnnn kapcsolati string oldalán található.
    Kikötő A PORT a mongodbnnn kapcsolati sztring oldaláról
    Felhasználónév A felhasználónév a mongodbnnn Kapcsolati Sztring oldalról
    Jelszó A ELSŐDLEGES JELSZÓ a mongodbnnn kapcsolati lánc oldalán

    A kész fájlnak a következőhöz hasonlóan kell kinéznie:

    <?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. Mentse a fájlt, majd zárja be a Kódszerkesztőt.

  8. Nyissa meg a Program.cs fájlt a Kódszerkesztővel:

    code Program.cs
    
  9. Görgessen le a ConnectToDatabase metódushoz.

  10. Megjegyzést fűzhet a MongoDB-hez való csatlakozás hitelesítő adatait meghatározó sorhoz, és törölje a Cosmos DB-hez való csatlakozáshoz szükséges hitelesítő adatokat meghatározó utasításokat. A kódnak így kell kinéznie:

    // 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
    });
    

    Ezek a módosítások azért szükségesek, mert az eredeti MongoDB-adatbázis nem használt SSL-kapcsolatot. A Cosmos DB mindig SSL-t használ.

  11. Mentse a fájlt, majd zárja be a Kódszerkesztőt.

  12. Az alkalmazás újraépítése és futtatása:

    dotnet build
    dotnet run
    
  13. Az Adja meg az eszközszámot parancssorban adjon meg egy 0 és 99 közötti eszközszámot. Az alkalmazásnak pontosan a korábbiakhoz hasonlóan kell futnia, kivéve, hogy ezúttal a Cosmos DB-adatbázisban tárolt adatokat használja.

Lekérdezési teljesítmény javítása a Cosmos DB-ben

A Cosmos DB lehetővé teszi további indexek hozzáadását a lekérdezési teljesítmény javítása érdekében. Mivel a deviceID-t összesítjük, a mező indexként való hozzáadása felgyorsítja a lekérdezéseket.

  1. Váltson vissza az Azure Portalra.

  2. A bal oldalon válassza Adatkezelőlehetőséget.

  3. Az Adatkezelő panelen bontsa ki a DeviceData adatbázist, bontsa ki a Hőmérsékletek gyűjteményt, majd válassza Beállításoklehetőséget.

    Cosmos DB indexelési szabályzat hozzáadását bemutató képernyőkép.

  4. Válassza a Indexelési szabályzat lehetőséget.

  5. Az _id alatt vegyen fel egy új indexet, adja meg a Definition számára a deviceID-t, majd válassza az Egimezejű lehetőséget a Típusnál.

  6. Válassza a Mentés lehetőséget az új index hozzáadásához.

  7. Térjen vissza a Cloud Shellbe a lekérdezés ismételt kipróbálásához, és figyelje meg az alkalmazás továbbfejlesztett válaszát.

  8. Tesztelje az alkalmazást más eszközszámokkal. A befejezéshez adja meg Q.

Sikeresen migrált egy MongoDB-adatbázist a Cosmos DB-be, és újrakonfigurált egy meglévő MongoDB-alkalmazást az új Cosmos DB-adatbázishoz való csatlakozáshoz.

A létrehozott erőforrások törlése

Fontos

Ha ezeket a lépéseket a saját személyes előfizetésében hajtotta végre, egyenként törölheti az erőforrásokat, vagy törölheti az erőforráscsoportot a teljes erőforráskészlet törléséhez. A továbbra is futó erőforrások pénzbe kerülhetnek.

  1. A Cloud Shell használatával futtassa ezt a parancsot az erőforráscsoport törléséhez:

    az group delete --name mongodbrg