Aracılığıyla paylaş


.NET kullanarak NoSQL için Azure Cosmos DB ile çalışmaya başlama

UYGULANANLAR: NoSQL

Bu makalede, .NET SDK'sını kullanarak NoSQL için Azure Cosmos DB'ye nasıl bağlanabileceğiniz gösterilmektedir. Bağlandıktan sonra veritabanları, kapsayıcılar ve öğeler üzerinde işlemler gerçekleştirebilirsiniz.

Paket (NuGet) | Örnekler | API başvurusu | Kitaplık kaynak kodu | Geri Bildirim Ver

Önkoşullar

Projenizi ayarlama

konsol şablonuyla komutunu kullanarak dotnet new yeni bir .NET uygulaması oluşturun.

dotnet new console

komutunu kullanarak Microsoft.Azure.Cosmos NuGet paketini içeri aktarındotnet add package.

dotnet add package Microsoft.Azure.Cosmos

komutuyla dotnet build projeyi oluşturun.

dotnet build

NoSQL için Azure Cosmos DB'ye bağlanma

Azure Cosmos DB'nin NoSQL API'sine bağlanmak için sınıfının bir örneğini CosmosClient oluşturun. Bu sınıf, veritabanlarında tüm işlemleri gerçekleştirmek için başlangıç noktasıdır.

Microsoft Entra kullanarak NoSQL hesabına yönelik API'nize bağlanmak için bir güvenlik sorumlusu kullanın. Sorumlunun tam türü, uygulama kodunuzu nerede barındırdığınıza bağlıdır. Aşağıdaki tablo bir hızlı başvuru kılavuzu görevi görür.

Uygulamanın çalıştığı yer Güvenlik sorumlusu
Yerel makine (geliştirme ve test) Kullanıcı kimliği veya hizmet sorumlusu
Azure Yönetilen kimlik
Azure dışındaki sunucular veya istemciler Hizmet sorumlusu

Azure.Identity'i içeri aktarma

Azure.Identity NuGet paketi, tüm Azure SDK kitaplıkları arasında paylaşılan temel kimlik doğrulama işlevlerini içerir.

komutunu kullanarak Azure.Identity NuGet paketini içeri aktarındotnet add package.

dotnet add package Azure.Identity

komutunu kullanarak dotnet build projeyi yeniden oluşturun.

dotnet build

Kod düzenleyicinizde ve Azure.Identity ad alanları için Azure.Core using yönergelerini ekleyin.

using Azure.Core;
using Azure.Identity;

Varsayılan kimlik bilgisi uygulamasıyla CosmosClient oluşturma

Yerel bir makinede test ediyorsanız veya uygulamanız yönetilen kimlikler için doğrudan destekle Azure hizmetlerinde çalışacaksa bir örnek oluşturarak OAuth DefaultAzureCredential belirteci alın.

Bu örnekte örneği, SDK'lar arasında yeniden kullanılabilen daha genel bir tür olduğundan türünde bir değişkene TokenCredential kaydettik.

// Credential class for testing on a local machine or Azure services
TokenCredential credential = new DefaultAzureCredential();

Ortam değişkeni ve TokenCredential nesnesini parametre olarak kullanarak CosmosClient sınıfının COSMOS_ENDPOINT yeni bir örneğini oluşturun.

// New instance of CosmosClient class using a connection string
using CosmosClient client = new(
    accountEndpoint: Environment.GetEnvironmentVariable("COSMOS_ENDPOINT")!,
    tokenCredential: credential
);

Uygulamanızı derleme

Uygulamanızı oluştururken kodunuz öncelikli olarak dört tür kaynakla etkileşim kurar:

  • Azure Cosmos DB verileriniz için benzersiz üst düzey ad alanı olan NoSQL hesabı için API.

  • Hesabınızdaki kapsayıcıları düzenleyen veritabanları.

  • Veritabanınızdaki tek tek öğeler kümesini içeren kapsayıcılar.

  • Kapsayıcınızdaki bir JSON belgesini temsil eden öğeler.

Aşağıdaki diyagramda bu kaynaklar arasındaki ilişki gösterilmektedir.

Hesaplar, veritabanları, kapsayıcılar ve öğeler dahil olmak üzere Azure Cosmos DB hiyerarşisinin diyagramı.

En üstte bir Azure Cosmos DB hesabını gösteren hiyerarşik diyagram. Hesabın iki alt veritabanı düğümü vardır. Veritabanı düğümlerinden biri iki alt kapsayıcı düğümü içerir. Diğer veritabanı düğümü tek bir alt kapsayıcı düğümü içerir. Bu tek kapsayıcı düğümünde üç alt öğe düğümü vardır.

Her kaynak türü, ilişkili bir veya daha fazla .NET sınıfıyla temsil edilir. En yaygın sınıfların listesi aşağıdadır:

Sınıf Açıklama
CosmosClient Bu sınıf, Azure Cosmos DB hizmeti 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.
Database Bu sınıf, hizmette henüz var olabilen veya var olmayan bir veritabanına başvurudur. Veritabanına erişmeye veya ona karşı bir işlem gerçekleştirmeye çalıştığınızda veritabanı sunucu tarafında doğrulanır.
Container Bu sınıf, hizmette henüz mevcut olmayan bir kapsayıcıya başvurudur. Kapsayıcıyla çalışmaya çalıştığınızda sunucu tarafı doğrulanır.

Aşağıdaki kılavuzlarda, uygulamanızı derlemek için bu sınıfların her birinin nasıl kullanılacağı gösterilmektedir.

Kılavuz Açıklama
Veritabanı oluşturma Veritabanları oluşturma
Kapsayıcı oluşturma Kapsayıcılar oluşturun
Öğe okuma Belirli bir öğeyi nokta okuma
Sorgu öğeleri Birden çok öğeyi sorgulama

Ayrıca bkz.

Sonraki adımlar