Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ebben a rövid útmutatóban egy alapszintű Azure DocumentDB-alkalmazást hoz létre a C# 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 végezhet el alapvető feladatokat az Azure DocumentDB-fürtben a C# használatával.
API-referencia | Forráskód | Csomag (NuGet)
Előfeltételek
Azure-előfizetés
- Ha nem rendelkezik Azure-előfizetéssel, hozzon létre egy ingyenes fiókot
- .NET 10.0 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.
Jelentkezzen be az Azure Portalra (https://portal.azure.com).
Az Azure Portal menüjében vagy a Kezdőlapon válassza az Erőforrás létrehozása elemet.
Az Új lapon keresse meg és válassza ki az Azure DocumentDB-t.
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.
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 RAMTárterület szegmensenként 128 GiB
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.0Rendszergazdai 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
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.
Válassza ki a Tovább: Hálózatkezelés lehetőséget.
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 accessNyilvá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 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.
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.255IP-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.Válassza az Áttekintés + létrehozás lehetőséget.
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.
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.
Szerezze be a fürt hitelesítő adatait
Szerezd be a fürthöz való csatlakozáshoz használt hitelesítő adatokat.
A fürtoldalon válassza a Kapcsolati láncokat lehetőséget az erőforrás menüjében.
A Kapcsolati sztringek szakaszban másolja vagy rögzítse a Kapcsolati sztring mező értékét.
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 .NET-konzolalkalmazás-projektet az aktuális címtárban.
Kezdje egy üres mappában.
Nyisson egy terminált az aktuális könyvtárban.
Hozzon létre egy új .NET-konzolalkalmazást.
dotnet new consoleÉpítse a projektet, hogy meggyőződjön arról, hogy sikeresen elkészült.
dotnet build
Telepítse a klienskönyvtárat
Az ügyfélkönyvtár a MongoDB.Driver csomagként érhető el a NuGeten keresztül.
Telepítse a MongoDB .NET-illesztőt a NuGet csomagkezelővel.
dotnet add package MongoDB.DriverNyissa meg és tekintse át az azure-documentdb-dotnet-quickstart.csproj fájlt annak ellenőrzéséhez, hogy létezik-e a csomaghivatkozás.
Importálja a szükséges névtereket az alkalmazás kódjába:
using System; using System.Collections.Generic; using System.Threading.Tasks; using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using MongoDB.Driver;
Objektummodell
| Név | Description |
|---|---|
MongoClient |
A MongoDB-hez való csatlakozáshoz használt típus. |
IMongoDatabase |
Egy adatbázist jelöl a klaszterben. |
IMongoCollection<T> |
Egy adatbázison belüli gyűjteményt jelöl a fürtben. |
Példakódok
- Az ügyfél hitelesítése
- Gyűjtemény lekérése
- Dokumentum létrehozása
- Dokumentum lekérése
- Dokumentumok lekérdezése
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.
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.class Program { static async Task 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"; // Create MongoDB client settings var settings = MongoClientSettings.FromConnectionString(connectionString);Hozza létre a MongoDB-ügyfelet, és ellenőrizze a kapcsolatot.
// Create a new client and connect to the server var client = new MongoClient(settings); // Ping the server to verify connection var database = client.GetDatabase("admin"); var pingCommand = new BsonDocument("ping", 1); await database.RunCommandAsync<BsonDocument>(pingCommand); Console.WriteLine("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.
Az adatbázisra mutató hivatkozás lekérése.
// Get database reference var adventureWorksDatabase = client.GetDatabase("adventureworks"); Console.WriteLine($"Connected to database: {adventureWorksDatabase.DatabaseNamespace.DatabaseName}");Az adatbázison belüli gyűjteményre mutató hivatkozás lekérése.
// Get collection reference var productsCollection = adventureWorksDatabase.GetCollection<Product>("products"); Console.WriteLine($"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.
Definiáljon egy termékosztályt, és hozzon létre mintatermék-dokumentumokat.
// Create sample products var products = new List<Product> { new Product { Id = "00000000-0000-0000-0000-000000004018", Name = "Windry Mittens", Category = "apparel-accessories-gloves-and-mittens", Quantity = 121, Price = 35.00m, Sale = false }, new Product { Id = "00000000-0000-0000-0000-000000004318", Name = "Niborio Tent", Category = "gear-camp-tents", Quantity = 140, Price = 420.00m, Sale = true } };Helyezze be a dokumentumokat "upsert" műveletek használatával.
// Insert documents with upsert foreach (var product in products) { var filter = Builders<Product>.Filter.Eq(p => p.Id, product.Id); var options = new ReplaceOptions { IsUpsert = true }; await productsCollection.ReplaceOneAsync(filter, product, options); Console.WriteLine($"Upserted product: {product.Name}"); }Adja hozzá a termékosztály definícióját a Program.cs fájl végén.
public class Product { [BsonId] [BsonElement("_id")] public string Id { get; set; } [BsonElement("name")] public string Name { get; set; } [BsonElement("category")] public string Category { get; set; } [BsonElement("quantity")] public int Quantity { get; set; } [BsonElement("price")] public decimal Price { get; set; } [BsonElement("sale")] public bool Sale { get; set; } }
Dokumentum lekérése
Ezután végezzen pontolvasási műveletet egy adott dokumentum gyűjteményből való lekéréséhez.
Adja meg a szűrőt egy adott dokumentum azonosító alapján való megkereséséhez.
// Retrieve a specific document by ID var filter = Builders<Product>.Filter.Eq(p => p.Id, "00000000-0000-0000-0000-000000004018");Hajtsa végre a lekérdezést, és kérje le az eredményt.
var retrievedProduct = await productsCollection.Find(filter).FirstOrDefaultAsync(); if (retrievedProduct != null) { Console.WriteLine($"Retrieved product: {retrievedProduct.Name} - ${retrievedProduct.Price}"); } else { Console.WriteLine("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.
Lekérdezés definiálása adott feltételeknek megfelelő dokumentumok megkereséséhez.
// Query for products on sale var saleFilter = Builders<Product>.Filter.Eq(p => p.Sale, true); var saleProducts = await productsCollection.Find(saleFilter).ToListAsync();Iterálja végig az eredményeket az egyező dokumentumok megjelenítéséhez.
Console.WriteLine("Products on sale:"); foreach (var product in saleProducts) { Console.WriteLine($"- {product.Name}: ${product.Price:F2} (Category: {product.Category})"); } } }
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.
Nyissa meg a Visual Studio Code-ot.
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 .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.
Lépjen a DocumentDB bővítményre a tevékenységsáv megfelelő ikonjának kiválasztásával.
A DocumentDB-kapcsolatok panelen válassza az + Új kapcsolat... lehetőséget.
A párbeszédpanelen válassza a Service Discovery , majd az Azure DocumentDB – Azure Service Discovery lehetőséget.
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.255IP-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.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.
Nyissa meg a gyűjtemény helyi menüjét, majd válassza a DocumentDB Scrapbook > New DocumentDB Scrapbook lehetőséget.
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.
Az Azure Portal keresősávján keresse meg és válassza ki az erőforráscsoportokat.
A listában válassza ki a rövid útmutatóhoz használt erőforráscsoportot.
Az erőforráscsoport lapján válassza az Erőforráscsoport törlése lehetőséget.
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.