Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto rychlém startu vytvoříte základní aplikaci Azure DocumentDB pomocí jazyka C#. Azure DocumentDB je úložiště dat NoSQL, které umožňuje aplikacím ukládat dokumenty v cloudu a přistupovat k nim pomocí oficiálních ovladačů MongoDB. Tento průvodce ukazuje, jak vytvářet dokumenty a provádět základní úlohy v clusteru Azure DocumentDB pomocí jazyka C#.
Referenční informace k | rozhraní APIZdrojový kód | Balíček (NuGet)
Požadavky
Předplatné Azure
- Pokud ještě předplatné Azure nemáte, vytvořte si bezplatný účet.
- .NET 10.0 nebo novější
Vytvoření clusteru Azure DocumentDB
Abyste mohli začít, musíte nejprve vytvořit cluster Azure DocumentDB, který slouží jako základ pro ukládání a správu dat NoSQL.
Přihlaste se k webu Azure Portal (https://portal.azure.com).
V nabídce webu Azure Portal nebo na domovské stránce vyberte Vytvořit prostředek.
Na stránce Nový vyhledejte a vyberte Azure DocumentDB.
Na stránce Vytvořit cluster Azure DocumentDB a v části Základy vyberte možnost Konfigurovat v části Vrstva clusteru .
Na stránce Škálování nakonfigurujte tyto možnosti a pak výběrem možnosti Uložit uložte změny na úrovni clusteru.
Hodnota Úroveň clusteru M30 tier, 2 vCore, 8-GiB RAMÚložiště pro shard 128 GiB
Zpět v části Základy nakonfigurujte následující možnosti:
Hodnota Subscription Výběr předplatného Azure Skupina zdrojů Vytvoření nové skupiny prostředků nebo výběr existující skupiny prostředků Název clusteru Zadejte globálně jedinečný název. Location Vyberte podporovanou oblast Azure pro vaše předplatné. Verze MongoDB Vyberte 8.0Uživatelské jméno správce Vytvoření uživatelského jména pro přístup ke clusteru jako správce uživatele Heslo Použití jedinečného hesla přidruženého k uživatelskému jménu
Návod
Poznamenejte si hodnoty, které používáte pro uživatelské jméno a heslo. Tyto hodnoty se používají dále v tomto průvodci. Další informace o platných hodnotách najdete v tématu Omezení clusteru.
Vyberte Další: Sítě.
V části Pravidla brány firewall na kartě Sítě nakonfigurujte tyto možnosti:
Hodnota Metoda připojení Public accessPovolit veřejný přístup ze služeb a prostředků Azure v rámci Azure k tomuto clusteru Enabled Přidáním pravidla brány firewall pro aktuální klientské zařízení udělte přístup ke clusteru výběrem + Přidat aktuální IP adresu klienta.
Návod
V mnoha podnikových prostředích jsou IP adresy vývojářských počítačů skryté kvůli nastavení sítě VPN nebo jiné podnikové sítě. V těchto případech můžete dočasně povolit přístup ke všem IP adresám přidáním rozsahu
0.0.0.0-255.255.255.255IP adres jako pravidla brány firewall. Toto pravidlo brány firewall používejte pouze dočasně jako součást testování a vývoje připojení.Vyberte možnost Zkontrolovat a vytvořit.
Zkontrolujte nastavení, která zadáte, a pak vyberte Vytvořit. Vytvoření clusteru bude trvat několik minut. Počkejte na dokončení nasazení prostředků.
Nakonec vyberte Přejít k prostředku a přejděte na cluster Azure DocumentDB v portálu.
Získání přihlašovacích údajů clusteru
Získejte přihlašovací údaje, které používáte pro připojení ke clusteru.
Na stránce clusteru vyberte v nabídce prostředků možnost Připojovací řetězce .
V části Připojovací řetězce zkopírujte nebo poznamenejte hodnotu z pole Připojovací řetězec .
Důležité
Připojovací řetězec na portálu neobsahuje hodnotu hesla. Zástupný symbol musíte nahradit <password> přihlašovacími údaji, které jste zadali při vytváření clusteru, nebo interaktivně zadat heslo.
Inicializace projektu
V aktuálním adresáři vytvořte nový projekt konzolové aplikace .NET.
Začněte v prázdném adresáři.
Otevřete terminál v aktuálním adresáři.
Vytvořte novou konzolovou aplikaci .NET.
dotnet new consoleSestavte projekt, abyste zajistili, že byl úspěšně vytvořen.
dotnet build
Instalace klientské knihovny
Klientská knihovna je k dispozici prostřednictvím Balíčku NuGet MongoDB.Driver .
Nainstalujte ovladač MongoDB .NET pomocí správce balíčků NuGet.
dotnet add package MongoDB.DriverOtevřete a zkontrolujte soubor azure-documentdb-dotnet-quickstart.csproj a ověřte, že odkaz na balíček existuje.
Naimportujte požadované obory názvů do kódu aplikace:
using System; using System.Collections.Generic; using System.Threading.Tasks; using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using MongoDB.Driver;
Objektový model
| Název | Description |
|---|---|
MongoClient |
Typ použitý pro připojení k MongoDB. |
IMongoDatabase |
Představuje databázi v clusteru. |
IMongoCollection<T> |
Představuje kolekci v rámci databáze v clusteru. |
Příklady kódu
Kód v této aplikaci se připojí k databázi pojmenované adventureworks a kolekci s názvem products. Kolekce products obsahuje podrobnosti, jako je název, kategorie, množství, jedinečný identifikátor a příznak prodeje pro každý produkt. Zde uvedené ukázky kódu provádějí nejběžnější operace při práci s kolekcí.
Ověření klienta
Nejprve se připojte k klientovi pomocí základního připojovacího řetězce.
Vytvořte hlavní metodu a nastavte připojovací řetězec. Nahraďte
<your-cluster-name>,<your-username>a<your-password>vašimi skutečnými informacemi o clusteru.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);Vytvořte klienta MongoDB a ověřte připojení.
// 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");
Získání kolekce
Teď získejte databázi a kolekci. Pokud databáze a kolekce ještě neexistují, pomocí ovladače ji vytvořte automaticky.
Získejte odkaz na databázi.
// Get database reference var adventureWorksDatabase = client.GetDatabase("adventureworks"); Console.WriteLine($"Connected to database: {adventureWorksDatabase.DatabaseNamespace.DatabaseName}");Získejte odkaz na kolekci v databázi.
// Get collection reference var productsCollection = adventureWorksDatabase.GetCollection<Product>("products"); Console.WriteLine($"Connected to collection: products");
Vytvoření dokumentu
Pak v kolekci vytvořte několik nových dokumentů. Vložte dokumenty, aby se zajistilo, že nahradí všechny existující dokumenty, pokud již existují se stejným jedinečným identifikátorem.
Definujte třídu produktu a vytvořte ukázkové dokumenty produktu.
// 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 } };Vložte dokumenty pomocí operací upsert.
// 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}"); }Na konec souboru Program.cs přidejte definici třídy Product.
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; } }
Načtení dokumentu
Dále proveďte operaci čtení bodu, která načte konkrétní dokument z kolekce.
Definujte filtr pro vyhledání konkrétního dokumentu podle ID.
// Retrieve a specific document by ID var filter = Builders<Product>.Filter.Eq(p => p.Id, "00000000-0000-0000-0000-000000004018");Spusťte dotaz a načtěte výsledek.
var retrievedProduct = await productsCollection.Find(filter).FirstOrDefaultAsync(); if (retrievedProduct != null) { Console.WriteLine($"Retrieved product: {retrievedProduct.Name} - ${retrievedProduct.Price}"); } else { Console.WriteLine("Product not found"); }
Dotazování na dokumenty
Nakonec dotazujte více dokumentů pomocí dotazovacího jazyka MongoDB (MQL).
Definujte dotaz pro vyhledání dokumentů odpovídajících konkrétním kritériím.
// Query for products on sale var saleFilter = Builders<Product>.Filter.Eq(p => p.Sale, true); var saleProducts = await productsCollection.Find(saleFilter).ToListAsync();Iterujte výsledky a zobrazte odpovídající dokumenty.
Console.WriteLine("Products on sale:"); foreach (var product in saleProducts) { Console.WriteLine($"- {product.Name}: ${product.Price:F2} (Category: {product.Category})"); } } }
Prozkoumání dat pomocí editoru Visual Studio Code
Pomocí rozšíření DocumentDB v editoru Visual Studio Code můžete provádět základní databázové operace, včetně dotazování, vkládání, aktualizace a odstraňování dat.
Otevřete Visual Studio Code.
Přejděte do zobrazení Rozšíření a vyhledejte termín
DocumentDB. Vyhledejte rozšíření DocumentDB pro VS Code.Vyberte tlačítko Instalovat pro rozšíření. Počkejte na dokončení instalace. Pokud se zobrazí výzva, znovu načtěte Visual Studio Code.
Výběrem odpovídající ikony na panelu aktivit přejděte na rozšíření DocumentDB .
V podokně Připojení DocumentDB vyberte + Nové připojení....
V dialogovém okně vyberte Zjišťování služeb a pak Azure DocumentDB – Azure Service Discovery.
Vyberte své předplatné Azure a nově vytvořený cluster Azure DocumentDB.
Návod
V mnoha podnikových prostředích jsou IP adresy vývojářských počítačů skryté kvůli nastavení sítě VPN nebo jiné podnikové sítě. V těchto případech můžete dočasně povolit přístup ke všem IP adresám přidáním rozsahu
0.0.0.0-255.255.255.255IP adres jako pravidla brány firewall. Toto pravidlo brány firewall používejte pouze dočasně jako součást testování a vývoje připojení. Další informace najdete v tématu konfigurace brány firewall.V podokně Připojení DocumentDB najděte uzel vašeho clusteru a rozbalte jej, poté přejděte k vašim existujícím uzlům dokumentů a kolekcí.
Otevřete místní nabídku kolekce a pak vyberte
DocumentDB Scrapbook<0/> Nový DocumentDB Scrapbook .Zadejte následující příkazy jazyka MongoDB Query Language (MQL) a pak vyberte Spustit vše. Sledujte výstup z příkazů.
db.products.find({ price: { $gt: 200 }, sale: true }) .sort({ price: -1 }) .limit(3)
Vyčistěte zdroje
Až budete hotovi s clusterem Azure DocumentDB, můžete odstranit prostředky Azure, které jste vytvořili, takže vám nebudou účtovány další poplatky.
Na panelu hledání na webu Azure Portal vyhledejte a vyberte skupiny prostředků.
V seznamu vyberte skupinu prostředků, kterou jste použili pro účely tohoto rychlého startu.
Na stránce skupiny prostředků vyberte Odstranit skupinu prostředků.
V potvrzovací dialogovém okně odstranění zadejte název skupiny prostředků, abyste potvrdili, že ji chcete odstranit. Nakonec vyberte Odstranit a trvale odstraňte skupinu prostředků.