Megosztás:


Rövid útmutató: Az Azure DocumentDB használata a Java-hoz készült MongoDB-illesztőprogrammal

Ebben a rövid útmutatóban egy alapszintű Azure DocumentDB-alkalmazást hoz létre Java használatával. Az Azure DocumentDB egy NoSQL-adattár, amellyel az alkalmazások a felhőben tárolhatják a dokumentumokat, és hivatalos MongoDB-illesztőprogramokkal érhetik el őket. Ez az útmutató bemutatja, hogyan hozhat létre dokumentumokat, és hogyan hajthat végre alapvető feladatokat az Azure DocumentDB-fürtben a Java használatával.

API-referencia | Forráskód | Csomag (Maven)

Előfeltételek

  • Azure-előfizetés

  • Java 21 vagy újabb

Hozzon létre egy Azure DocumentDB-fürtöt

Első lépésként létre kell hoznia egy Azure DocumentDB-fürtöt, amely a NoSQL-adatok tárolásának és kezelésének alapja.

  1. Jelentkezzen be az Azure Portalra (https://portal.azure.com).

  2. Az Azure Portal menüjében vagy a Kezdőlapon válassza az Erőforrás létrehozása elemet.

  3. Az Új lapon keresse meg és válassza ki az Azure DocumentDB-t.

    Képernyőkép az Azure DocumentDB keresésről.

  4. Az Azure DocumentDB-fürt létrehozása oldal Alapok szakaszában válassza a Fürtszint szakaszban a Konfigurálás lehetőséget.

    Képernyőkép a fürt konfigurálása opcióról.

  5. A Méretezés lapon konfigurálja ezeket a beállításokat, majd válassza a Mentés lehetőséget a fürtszintre vonatkozó módosítások megőrzéséhez.

    Érték
    Fürtszint M30 tier, 2 vCore, 8-GiB RAM
    Tárterület szegmensenként 128 GiB

    Képernyőkép egy új Azure DocumentDB-fürt számítási és tárolási beállításairól.

  6. Az Alapok szakaszban konfigurálja a következő beállításokat:

    Érték
    Subscription Az Azure-előfizetés kiválasztása
    Erőforráscsoport Új erőforráscsoport létrehozása vagy meglévő erőforráscsoport kiválasztása
    Fürt neve Globálisan egyedi név megadása
    Location Válasszon egy támogatott Azure-régiót az előfizetéséhez
    MongoDB-verzió A következők szerint válasszon: 8.0
    Rendszergazdai felhasználónév Felhasználónév létrehozása a fürt felhasználói rendszergazdaként való eléréséhez
    Jelszó A felhasználónévhez társított egyedi jelszó használata

    Képernyőkép a fürtparaméterekről.

    Jótanács

    Jegyezze fel a felhasználónévhez és jelszóhoz használt értékeket. Ezeket az értékeket az útmutató későbbi részében használjuk. Az érvényes értékekkel kapcsolatos további információkért tekintse meg a fürt korlátait.

  7. Válassza ki a Tovább: Hálózatkezelés lehetőséget.

  8. A Hálózatkezelés lap Tűzfalszabályok szakaszában konfigurálja az alábbi beállításokat:

    Érték
    Kapcsolati módszer Public access
    Nyilvános hozzáférés engedélyezése az Azure-ban lévő Azure-szolgáltatásokból és erőforrásokból ehhez a fürthöz Engedélyezett
  9. Adjon hozzá egy tűzfalszabályt a jelenlegi klienseszközhöz, hogy hozzáférést biztosítson a fürthöz a + Jelenlegi kliens IP-cím hozzáadása lehetőség kiválasztásával.

    Képernyőkép a hálózati konfigurációkról.

    Jótanács

    Számos vállalati környezetben a fejlesztői gép IP-címei vpn vagy más vállalati hálózati beállítások miatt rejtve vannak. Ezekben az esetekben ideiglenesen engedélyezheti az összes IP-cím elérését az 0.0.0.0 - 255.255.255.255 IP-címtartomány tűzfalszabályként való hozzáadásával. Ezt a tűzfalszabályt csak ideiglenesen használja a kapcsolattesztelés és -fejlesztés részeként.

  10. Válassza az Áttekintés + létrehozás lehetőséget.

  11. Tekintse át a megadott beállításokat, majd kattintson a Létrehozás-ra. A klaszter létrehozása néhány percet vesz igénybe. Várjon, amíg az erőforrás üzembe helyezése befejeződött.

  12. Végül válassza a Menjen az erőforráshoz lehetőséget, hogy navigáljon az Azure DocumentDB-fürthöz a portálon.

Képernyőkép a goto-erőforrás beállításairól.

Szerezze be a fürt hitelesítő adatait

Szerezd be a fürthöz való csatlakozáshoz használt hitelesítő adatokat.

  1. A fürtoldalon válassza a Kapcsolati láncokat lehetőséget az erőforrás menüjében.

  2. A Kapcsolati sztringek szakaszban másolja vagy rögzítse a Kapcsolati sztring mező értékét.

Képernyőkép a kapcsolati karakterláncok opcióról.

Fontos

A portál kapcsolati sztringje nem tartalmazza a jelszó értékét. A <password> helyettesítő szöveget le kell cserélnie a fürt létrehozásakor megadott hitelesítő adatokkal, vagy interaktívan be kell írnia a jelszót.

A projekt inicializálása

Hozzon létre egy új Maven-projektet az aktuális címtárban.

  1. Kezdje egy üres mappában.

  2. Nyisson egy terminált az aktuális könyvtárban.

  3. Hozz létre egy új Maven-projektet a quickstart archetype használatával.

    mvn archetype:generate -DgroupId=com.example -DartifactId=azure-documentdb-java-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    
  4. Lépjen be a létrehozott projektkönyvtárba.

    cd azure-documentdb-java-quickstart
    
  5. Építse a projektet, hogy meggyőződjön arról, hogy sikeresen elkészült.

    mvn compile
    

Telepítse a klienskönyvtárat

A klienskönyvtár a Mavenen keresztül érhető el mongodb-driver-sync összetevőként.

  1. Adja hozzá a MongoDB Java-illesztőprogram függőségét a pom.xml fájlhoz.

    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongodb-driver-sync</artifactId>
        <version>5.2.0</version>
    </dependency>
    
  2. Nyissa meg és tekintse át a pom.xml fájlt annak ellenőrzéséhez, hogy a függőségi bejegyzés létezik-e.

  3. Importálja a szükséges csomagokat az alkalmazás kódjába:

    import com.mongodb.client.MongoClient;
    import com.mongodb.client.MongoClients;
    import com.mongodb.client.MongoCollection;
    import com.mongodb.client.MongoDatabase;
    import com.mongodb.client.model.Filters;
    import com.mongodb.client.model.ReplaceOptions;
    import org.bson.Document;
    import org.bson.conversions.Bson;
    
    import java.util.Arrays;
    import java.util.List;
    

Objektummodell

Név Description
MongoClient A MongoDB-hez való csatlakozáshoz használt típus.
MongoDatabase Egy adatbázist jelöl a klaszterben.
MongoCollection<Document> Egy adatbázison belüli gyűjteményt jelöl a fürtben.

Példakódok

Az alkalmazás kódja egy elnevezett adventureworks adatbázishoz és egy nevű productsgyűjteményhez csatlakozik. A products gyűjtemény olyan részleteket tartalmaz, mint a név, a kategória, a mennyiség, az egyedi azonosító és az egyes termékekhez tartozó értékesítési jelző. Az itt található kódminták a leggyakoribb műveleteket hajtják végre a gyűjtemények használatakor.

Az ügyfél hitelesítése

Először csatlakozzon az ügyfélhez egy egyszerű kapcsolati sztring használatával.

  1. Hozza létre a fő metódust, és állítsa be a kapcsolati sztringet. Cserélje le <your-cluster-name>, <your-username> és <your-password> a tényleges fürtinformációkkal.

    public class App {
        public static void main(String[] args) {
            // Connection string for Azure DocumentDB cluster
            String connectionString = "mongodb+srv://<your-username>:<your-password>@<your-cluster-name>.global.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000";
    
  2. Hozza létre a MongoDB-ügyfelet, és ellenőrizze a kapcsolatot.

            // Create a new client and connect to the server
            try (MongoClient mongoClient = MongoClients.create(connectionString)) {
    
                // Ping the server to verify connection
                MongoDatabase database = mongoClient.getDatabase("admin");
                database.runCommand(new Document("ping", 1));
    
                System.out.println("Successfully connected and pinged Azure DocumentDB");
    

Gyűjtemény lekérése

Most szerezze be az adatbázist és a gyűjteményt. Ha az adatbázis és a gyűjtemény még nem létezik, az illesztővel automatikusan létrehozhatja.

  1. Az adatbázisra mutató hivatkozás lekérése.

                // Get database reference
                MongoDatabase adventureWorksDatabase = mongoClient.getDatabase("adventureworks");
                System.out.println("Connected to database: " + adventureWorksDatabase.getName());
    
  2. Az adatbázison belüli gyűjteményre mutató hivatkozás lekérése.

                // Get collection reference
                MongoCollection<Document> productsCollection = adventureWorksDatabase.getCollection("products");
                System.out.println("Connected to collection: products");
    

Dokumentum létrehozása

Ezután hozzon létre néhány új dokumentumot a gyűjteményben. A dokumentumokat úgy állíthatja be, hogy az lecserélje a meglévő dokumentumokat, ha már léteznek ugyanazzal az egyedi azonosítóval.

  1. Mintatermék-dokumentumok létrehozása a Dokumentum osztály használatával.

                // Create sample products
                List<Document> products = Arrays.asList(
                    new Document("_id", "00000000-0000-0000-0000-000000004018")
                        .append("name", "Windry Mittens")
                        .append("category", "apparel-accessories-gloves-and-mittens")
                        .append("quantity", 121)
                        .append("price", 35.00)
                        .append("sale", false),
                    new Document("_id", "00000000-0000-0000-0000-000000004318")
                        .append("name", "Niborio Tent")
                        .append("category", "gear-camp-tents")
                        .append("quantity", 140)
                        .append("price", 420.00)
                        .append("sale", true)
                );
    
  2. Helyezze be a dokumentumokat "upsert" műveletek használatával.

                // Insert documents with upsert
                for (Document product : products) {
                    Bson filter = Filters.eq("_id", product.getString("_id"));
                    ReplaceOptions options = new ReplaceOptions().upsert(true);
    
                    productsCollection.replaceOne(filter, product, options);
                    System.out.println("Upserted product: " + product.getString("name"));
                }
    

Dokumentum lekérése

Ezután végezzen pontolvasási műveletet egy adott dokumentum gyűjteményből való lekéréséhez.

  1. Adja meg a szűrőt egy adott dokumentum azonosító alapján való megkereséséhez.

                // Retrieve a specific document by ID
                Bson filter = Filters.eq("_id", "00000000-0000-0000-0000-000000004018");
    
  2. Hajtsa végre a lekérdezést, és kérje le az eredményt.

                Document retrievedProduct = productsCollection.find(filter).first();
    
                if (retrievedProduct != null) {
                    System.out.println("Retrieved product: " + retrievedProduct.getString("name") + 
                                     " - $" + retrievedProduct.getDouble("price"));
                } else {
                    System.out.println("Product not found");
                }
    

Dokumentumok lekérdezése

Végül több dokumentumot is lekérdezhet a MongoDB lekérdezési nyelv (MQL) használatával.

  1. Lekérdezés definiálása adott feltételeknek megfelelő dokumentumok megkereséséhez.

                // Query for products on sale
                Bson saleFilter = Filters.eq("sale", true);
    
  2. Az összes egyező dokumentum lekéréséhez iterálja végig a kurzort.

                System.out.println("Products on sale:");
                for (Document product : productsCollection.find(saleFilter)) {
                    System.out.printf("- %s: $%.2f (Category: %s)%n",
                        product.getString("name"),
                        product.getDouble("price"),
                        product.getString("category"));
                }
    
            } catch (Exception e) {
                System.err.println("An error occurred: " + e.getMessage());
                e.printStackTrace();
            }
        }
    }
    

Adatok felfedezése a Visual Studio Code használatával

A Visual Studio Code DocumentDB bővítményével alapvető adatbázis-műveleteket hajthat végre, beleértve az adatok lekérdezését, beszúrását, frissítését és törlését.

  1. Nyissa meg a Visual Studio Code-ot.

  2. Lépjen a Bővítmények nézetre, és keresse meg a kifejezést DocumentDB. Keresse meg a DocumentDB for VS Code bővítményt .

  3. Válassza a bővítmény Telepítés gombját. Várja meg, amíg a telepítés befejeződik. Töltse újra a Visual Studio kódot, ha erre felszólítják.

  4. Lépjen a DocumentDB bővítményre a tevékenységsáv megfelelő ikonjának kiválasztásával.

  5. A DocumentDB-kapcsolatok panelen válassza az + Új kapcsolat... lehetőséget.

  6. A párbeszédpanelen válassza a Service Discovery , majd az Azure DocumentDB – Azure Service Discovery lehetőséget.

  7. Válassza ki az Azure-előfizetését és az újonnan létrehozott Azure DocumentDB-fürtöt.

    Jótanács

    Számos vállalati környezetben a fejlesztői gép IP-címei vpn vagy más vállalati hálózati beállítások miatt rejtve vannak. Ezekben az esetekben ideiglenesen engedélyezheti az összes IP-cím elérését az 0.0.0.0 - 255.255.255.255 IP-címtartomány tűzfalszabályként való hozzáadásával. Ezt a tűzfalszabályt csak ideiglenesen használja a kapcsolattesztelés és -fejlesztés részeként. További információ: tűzfal konfigurálása.

  8. Visszatérve a DocumentDB-kapcsolatok panelre, bontsa ki a fürt csomópontját, és keresse meg a meglévő dokumentum- és gyűjteménycsomópontokat.

  9. Nyissa meg a gyűjtemény helyi menüjét, majd válassza a DocumentDB Scrapbook > New DocumentDB Scrapbook lehetőséget.

  10. Adja meg a következő MongoDB lekérdezési nyelv (MQL) parancsokat, majd válassza az Összes futtatása lehetőséget. Figyelje meg a parancsok kimenetét.

    db.products.find({
      price: { $gt: 200 },
      sale: true
    })
    .sort({ price: -1 })
    .limit(3)
    

Erőforrások tisztítása

Ha végzett az Azure DocumentDB-fürttel, törölheti a létrehozott Azure-erőforrásokat, így nem kell további díjakat fizetnie.

  1. Az Azure Portal keresősávján keresse meg és válassza ki az erőforráscsoportokat.

    Képernyőkép az erőforráscsoportok keresésének lehetőségről.

  2. A listában válassza ki a rövid útmutatóhoz használt erőforráscsoportot.

    Képernyőkép az erőforráscsoportról.

  3. Az erőforráscsoport lapján válassza az Erőforráscsoport törlése lehetőséget.

  4. A törlés megerősítését kérő párbeszédpanelen adja meg az erőforráscsoport nevét annak megerősítéséhez, hogy törölni kívánja azt. Végül válassza a Törlés lehetőséget az erőforráscsoport végleges törléséhez.

    Képernyőkép az erőforráscsoport törlésének megerősítését kérő gombról.