.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

Yeni bir .NET Core uygulaması oluşturma

  1. 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
    
  2. MongoDB NuGet paketini konsol projesine ekleyin. dotnet add package NuGet paketinin adını belirten komutunu kullanın.

    dotnet add package MongoDB.Driver
    
  3. 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

  1. resourceGroupName için bir kabuk değişkeni oluşturun.

    # Variable for resource group name
    resourceGroupName="msdocs-cosmos"
    
  2. 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

  1. 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 
    
  2. 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.

Hesaplar, veritabanları, koleksiyonlar ve belgeler de dahil olmak üzere Azure Cosmos DB VERITABANı hiyerarşisinin diyagramı.

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:

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.