.NET kullanarak MongoDB için Azure Cosmos DB ile çalışmaya başlama
ŞUNLAR IÇIN GEÇERLIDIR: MongoDB
Bu makalede.NET Core ve ilgili NuGet paketlerini kullanarak MongoDB için Azure Cosmos DB'ye nasıl bağlanabileceğiniz gösterilmektedir. Bağlandıktan sonra veritabanları, koleksiyonlar ve belgeler üzerinde işlemler gerçekleştirebilirsiniz.
Not
Örnek kod parçacıkları GitHub'da .NET Core projesi olarak kullanılabilir.
MongoDB için API başvuru belgeleri | MongoDB Paketi (NuGet)
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- .NET 6.0
- Azure Komut Satırı Arabirimi (CLI) veya Azure PowerShell
- MongoDB için Azure Cosmos DB kaynağı
Yeni bir .NET Core uygulaması oluşturma
Tercih ettiğiniz terminali kullanarak boş bir klasörde yeni bir .NET Core uygulaması oluşturun. Bu senaryo için bir konsol uygulaması kullanacaksınız.
dotnet new
Konsol uygulamasını oluşturmak ve adlandırmak için komutunu kullanın.dotnet new console -o app
MongoDB NuGet paketini konsol projesine ekleyin.
dotnet add package
NuGet paketinin adını belirten komutunu kullanın.dotnet add package MongoDB.Driver
Uygulamayı çalıştırmak için bir terminal kullanarak uygulama dizinine gidin ve uygulamayı çalıştırın.
dotnet run
MongoDB yerel sürücüsüyle MongoDB için Azure Cosmos DB'ye Bağlan
MongoDB yerel sürücüsüyle Azure Cosmos DB'ye bağlanmak için sınıfının bir örneğini MongoClient
oluşturun. Bu sınıf, MongoDb veritabanlarında tüm işlemleri gerçekleştirmek için başlangıç noktasıdır. MongoClient için en yaygın oluşturucu, aşağıdaki adımları kullanarak alabileceğiniz bir bağlantı dizesi kabul eder:
Kaynak adını alma
resourceGroupName için bir kabuk değişkeni oluşturun.
# Variable for resource group name resourceGroupName="msdocs-cosmos"
az cosmosdb list
Komutunu kullanarak kaynak grubunuzdaki ilk Azure Cosmos DB hesabının adını alın ve accountName kabuk değişkeninde depolayın.# Retrieve most recently created account name accountName=$( az cosmosdb list \ --resource-group $resourceGroupName \ --query "[0].name" \ --output tsv )
Bağlantı dizenizi alma
Komutuyla hesabın bağlantı dizesi listesinden MongoDB bağlantı dizesi API'sini
az cosmosdb keys list
bulun.az cosmosdb keys list --type connection-strings \ --resource-group $resourceGroupName \ --name $accountName
BİRİnCİl ANAHTAR değerlerini kaydedin. Bu kimlik bilgilerini daha sonra kullanacaksınız.
Ortam değişkenlerini yapılandırma
Kodunuzda CONNECTION STRING değerlerini kullanmak için bu değeri uygulamayı çalıştıran yerel ortamda ayarlayın. Ortam değişkenini ayarlamak için tercih ettiğiniz terminali kullanarak aşağıdaki komutları çalıştırın:
$env:COSMOS_CONNECTION_STRING = "<cosmos-connection-string>"
bağlantı dizesi ile MongoClient oluşturma
Oluşturucuyu MongoClient
ve daha önce ayarladığınız bağlantı dizesi değişkenini kullanarak sınıfının yeni bir örneğini tanımlayın.
// New instance of CosmosClient class
var client = new MongoClient(Environment.GetEnvironmentVariable("COSMOS_CONNECTION_STRING"));
var settings = client.Settings;
Console.WriteLine(settings.Server.Host);
MongoDB için API için Azure Cosmos DB ile MongoDB istemci sınıflarını kullanma
Uygulamayı oluşturmaya başlamadan önce Azure Cosmos DB'deki kaynak hiyerarşisini inceleyelim. Azure Cosmos DB'de kaynak oluşturmak ve kaynaklara erişmek için kullanılan belirli bir nesne modeli vardır. Azure Cosmos DB, hesaplar, veritabanları, koleksiyonlar ve belgelerden oluşan bir hiyerarşide kaynaklar oluşturur.
En üstte Bir Azure Cosmos DB hesabı gösteren hiyerarşik diyagram. Hesabın iki alt veritabanı düğümü vardır. Veritabanı düğümlerinden biri iki alt koleksiyon düğümü içerir. Diğer veritabanı düğümü tek bir alt koleksiyon düğümü içerir. Bu tek koleksiyon düğümünde üç alt belge düğümü vardır.
Her kaynak türü bir veya daha fazla ilişkili C# sınıfıyla temsil edilir. En yaygın sınıfların listesi aşağıdadır:
Sınıf | Açıklama |
---|---|
MongoClient |
Bu sınıf, Azure Cosmos DB'de MongoDB için API katmanı için istemci tarafı mantıksal gösterimi sağlar. İstemci nesnesi, hizmette istekleri yapılandırmak ve yürütmek için kullanılır. |
MongoDatabase |
Bu sınıf, hizmette henüz var olabilen veya var olmayan bir veritabanına başvurudur. Veritabanı, üzerinde bir işlem gerçekleştirmeye çalıştığınızda doğrulanır veya sunucu tarafı oluşturulur. |
Collection |
Bu sınıf, hizmette henüz mevcut olmayan bir koleksiyona başvurudur. Koleksiyon, onunla çalışmaya çalıştığınızda sunucu tarafında doğrulanır. |
Aşağıdaki kılavuzlarda, uygulamanızı derlemek ve verileri yönetmek için bu sınıfların her birini nasıl kullanacağınız gösterilmektedir.
Kılavuz:
- Veritabanlarını yönetme
- Koleksiyonları yönetme
- Belgeleri yönetme
- Belgeleri bulmak için sorguları kullanma
Ayrıca bkz.
Sonraki adımlar
MongoDB hesabı için bir API'ye bağlandığınıza göre, veritabanlarını oluşturmak ve yönetmek için sonraki kılavuzu kullanın.