Hızlı Başlangıç: .NET SDK ve Azure Cosmos DB ile Apache Cassandra uygulaması oluşturma

ŞUNLAR IÇIN GEÇERLIDIR: Cassandra

Bu hızlı başlangıçta GitHub'dan bir örneği kopyalayarak bir profil uygulaması oluşturmak için .NET ve Cassandra için Azure Cosmos DB API'sinin nasıl kullanılacağı gösterilmektedir. Bu hızlı başlangıçta web tabanlı Azure portalını kullanarak bir Azure Cosmos DB hesabı oluşturma işlemi de gösterilmektedir.

Azure Cosmos DB, Microsoft'un global olarak dağıtılan çok modelli veritabanı hizmetidir. Bu hizmetle belge, tablo, anahtar/değer ve grafik veritabanlarını kolayca oluşturup sorgulayabilir ve tüm bunları yaparken Azure Cosmos DB'nin genel dağıtım ve yatay ölçeklendirme özelliklerinden faydalanabilirsiniz.

Ön koşullar

Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun. Alternatif olarak, Azure aboneliği olmadan ve herhangi bir taahhütte bulunmadan Azure Cosmos DB’yi ücretsiz olarak deneyebilirsiniz.

Ayrıca, şunlar gerekir:

  • Azure geliştirme iş yüküyle en son Visual Studio. ÜcretsizVisual Studio Community IDE ile çalışmaya başlayabilirsiniz. Visual Studio kurulumu sırasında Azure geliştirme iş yükünü etkinleştirin.
  • Örneği kopyalamak için Git yükleyin.

Veritabanı hesabı oluşturma

  1. Azure portalı menüsünde veya Giriş sayfasında Kaynak oluştur'u seçin.

  2. Yeni sayfasında Azure Cosmos DB'yi arayın ve seçin.

  3. Azure Cosmos DB sayfasında Oluştur'u seçin.

  4. API sayfasında Cassandra bölümünün altında Oluştur'useçin.

    API, oluşturulacak hesap türünü belirler. Azure Cosmos DB beş API sağlar: Belge veritabanları için NoSQL, graf veritabanları için Gremlin, belge veritabanları için MongoDB, Azure Tablosu ve Cassandra. Her API için ayrı bir hesap oluşturmanız gerekir.

    Cassandra'yı seçin, çünkü bu hızlı başlangıçta Cassandra için API ile çalışan bir tablo oluşturuyorsunuz.

    Cassandra IÇIN API hakkında daha fazla bilgi edinin.

  5. Azure Cosmos DB Hesabı Oluştur sayfasında yeni Azure Cosmos DB hesabının temel ayarlarını girin.

    Ayar Value Tanım
    Abonelik Aboneliğiniz Bu Azure Cosmos DB hesabı için kullanmak istediğiniz Azure aboneliğini seçin.
    Kaynak Grubu Özel programlamayı kullanmadan, yeni

    Ardından Hesap Adı ile aynı adı girin
    Yeni oluştur’u seçin. Ardından hesabınız için yeni bir kaynak grubu adı girin. Kolaylık olması için Azure Cosmos DB hesap adınızla aynı adı kullanın.
    Hesap Adı Benzersiz bir ad girin Azure Cosmos DB hesabınızı tanımlayan benzersiz bir ad girin. Hesap URI'niz benzersiz hesap adınızın sonuna cassandra.cosmos.azure.com eklenir.

    Hesap adı yalnızca küçük harf, sayı ve kısa çizgi (-) kullanabilir ve 3 ile 31 karakter uzunluğunda olmalıdır.
    Konum Kullanıcılarınıza en yakın bölge Azure Cosmos DB hesabınızın barındırılacağı coğrafi konumu seçin. Verilere en hızlı erişimi sağlamak için kullanıcılarınıza en yakın olan konumu kullanın.
    Kapasite modu Sağlanan aktarım hızı veya Sunucusuz Sağlanan aktarım hızı modunda hesap oluşturmak için Sağlanan aktarım hızı'natıklayın. Sunucusuz modda hesap oluşturmak için Sunucusuz'useçin.
    Azure Cosmos DB ücretsiz katman indirimi uygulama Uygula veya Uygulama Azure Cosmos DB ücretsiz katmanı ile bir hesapta ilk 1000 RU/sn ve 25 GB depolama alanını ücretsiz olarak alırsınız. Ücretsiz katman hakkında daha fazla bilgi edinin.
    Toplam hesap aktarım hızını sınırla Hesabın aktarım hızını sınırlamak için seçin Hesabın toplam aktarım hızını belirli bir değerle sınırlamak istiyorsanız bu yararlı olur.

    Dekont

    Azure aboneliği başına bir ücretsiz katman Azure Cosmos DB hesabına sahip olabilirsiniz. Bunu hesabı oluştururken kabul etmeniz gerekir. Ücretsiz katman indirimini uygulama seçeneğinin gözükmemesi abonelikteki farklı bir hesabın ücretsiz katman ile etkinleştirildiğini belirtir.

    The new account page for Azure Cosmos DB for Apache Cassandra

  6. Genel Dağıtım sekmesinde aşağıdaki ayrıntıları yapılandırın. Bu hızlı başlangıcın amacı için varsayılan değerleri bırakabilirsiniz:

    Ayar Value Tanım
    Coğrafi Yedeklilik Devre Dışı Bırak Bölgenizi bir çift bölgeyle eşleştirerek hesabınızda genel dağıtımı etkinleştirin veya devre dışı bırakın. Daha sonra hesabınıza daha fazla bölge ekleyebilirsiniz.
    Birden Çok Bölgeli Yazmalar Devre Dışı Bırak Çok bölgeli yazma özelliği, dünya genelindeki veritabanlarınız ve kapsayıcılarınız için sağlanan aktarım hızını kullanmanıza olanak tanır.
    Kullanılabilirlik Alanları Devre Dışı Bırak Kullanılabilirlik Alanları, Bir Azure bölgesi içindeki yalıtılmış konumlardır. Her alan bağımsız güç, soğutma ve ağ bağlantısı ile donatılmış bir veya daha fazla veri merkezinden oluşur.

    Dekont

    Kapasite modu olarak Sunucusuz seçeneğini belirlediğinizde aşağıdaki seçenekler kullanılamaz:

    • Ücretsiz Katman İndirimi Uygula
    • Coğrafi yedeklilik
    • Birden Çok Bölgeli Yazmalar
  7. İsteğe bağlı olarak, aşağıdaki sekmelerde ek ayrıntıları yapılandırabilirsiniz:

    • Ağ - Sanal ağdan erişimi yapılandırın.
    • Yedekleme İlkesi - Düzenli veya sürekli yedekleme ilkesini yapılandırın.
    • Şifreleme - Hizmet tarafından yönetilen anahtar veya müşteri tarafından yönetilen anahtar kullanın.
    • Etiketler - Etiketler, birden çok kaynağa ve kaynak grubuna aynı etiketi uygulayarak kaynakları kategorilere ayırmanızı ve birleştirilmiş faturalamayı görüntülemenizi sağlayan ad/değer çiftleridir.
  8. Gözden geçir ve oluştur’u seçin.

  9. Hesap ayarlarını gözden geçirip Oluştur seçeneğini belirleyin. Hesabın oluşturulması birkaç dakika sürer. Portal sayfasında Dağıtımınız tamamlandı iletisinin görüntülenmesini bekleyin.

    The Azure portal Notifications pane

  10. Azure Cosmos DB hesabı sayfasına gitmek için Kaynağa git seçeneğini belirleyin.

Örnek uygulamayı kopyalama

Şimdi kod ile çalışmaya geçelim. GitHub'dan Cassandra uygulaması için bir API kopyalayalım, bağlantı dizesi ayarlayalım ve çalıştıralım. Verilerle program aracılığıyla ne kadar kolay çalışabileceğinizi göreceksiniz.

  1. Komut istemi açın. git-samples adlı yeni bir klasör oluşturun. Ardından, komut istemini kapatın.

    md "C:\git-samples"
    
  2. Git Bash gibi bir Git terminal penceresi açın ve örnek uygulamayı yüklemek üzere yeni bir klasör olarak değiştirmek için cd komutunu kullanın.

    cd "C:\git-samples"
    
  3. Örnek depoyu kopyalamak için aşağıdaki komutu çalıştırın. Bu komut bilgisayarınızda örnek uygulamanın bir kopyasını oluşturur.

    git clone https://github.com/Azure-Samples/azure-cosmos-db-cassandra-dotnet-getting-started.git
    
  4. Ardından Visual Studio'da CassandraQuickStartSample çözüm dosyasını açın.

Kodu gözden geçirin

Bu adım isteğe bağlıdır. Kodun veritabanı kaynaklarını nasıl oluşturduğunu öğrenmek istiyorsanız aşağıdaki kod parçacıklarını gözden geçirebilirsiniz. Kod parçacıklarının tamamı C:\git-samples\azure-cosmos-db-cassandra-dotnet-getting-started\CassandraQuickStartSample klasöründe yüklü olan Program.cs dosyasından alınmıştır. Aksi durumda, Bağlantı dizenizi güncelleştirme bölümüne atlayabilirsiniz.

  • Bir Cassandra kümesi uç noktasına bağlanarak oturumu başlatın. Azure Cosmos DB'de Cassandra API'si yalnızca TLSv1.2'yi destekler.

    var options = new Cassandra.SSLOptions(SslProtocols.Tls12, true, ValidateServerCertificate);
    options.SetHostNameResolver((ipAddress) => CassandraContactPoint);
    Cluster cluster = Cluster.Builder().WithCredentials(UserName, Password).WithPort(CassandraPort).AddContactPoint(CassandraContactPoint).WithSSL(options).Build();
    ISession session = cluster.Connect();
    
  • Yeni bir anahtar alanı oluşturun.

    session.Execute("CREATE KEYSPACE uprofile WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 };"); 
    
  • Yeni tablo oluşturma.

    session.Execute("CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)");
    
  • Uprofile anahtar alanına bağlanan yeni bir oturum ile IMapper nesnesini kullanarak kullanıcı varlıkları ekleyin.

    mapper.Insert<User>(new User(1, "LyubovK", "Dubai"));
    
  • Tüm kullanıcıların bilgilerini almak için sorgulayın.

    foreach (User user in mapper.Fetch<User>("Select * from user"))
    {
       Console.WriteLine(user);
    }
    
  • Tek bir kullanıcının bilgilerini almak için sorgulayın.

    mapper.FirstOrDefault<User>("Select * from user where user_id = ?", 3);
    

Bağlantı dizenizi güncelleştirme

Bu adımda Azure portalına dönerek bağlantı dizesi bilgilerinizi kopyalayıp uygulamaya ekleyin. Bağlantı dizesi bilgileri, uygulamanızın barındırılan veritabanıyla iletişim kurmasına olanak tanır.

  1. Azure portalındaBağlantı Dizesi’ni seçin.

  2. USERNAME değerini kopyalamak için ekranın sağ tarafındaki düğmeyi kullanın.

    View and copy an access key in the Azure portal, Connection String page

  3. Visual Studio'da Program.cs dosyasını açın.

  4. Portaldan USERNAME değerini 13. satırdaki <FILLME> üzerine yapıştırın.

    Program.cs dosyasının 13. satırı şuna benzer şekilde görünmelidir:

    private const string UserName = "cosmos-db-quickstart";

  5. Portala geri dönün ve PASSWORD değerini kopyalayın. Portaldan PASSWORD değerini 14. satırdaki <FILLME> üzerine yapıştırın.

    Program.cs dosyasının 14. satırı şuna benzer şekilde görünmelidir:

    private const string Password = "2Ggkr662ifxz2Mg...==";

  6. Portala geri dönün ve CONTACT POINT değerini kopyalayın. Portaldan CONTACT POINT değerini 15. satırdaki <FILLME> üzerine yapıştırın.

    Program.cs dosyasının 15. satırı şuna benzer şekilde görünmelidir:

    private const string CassandraContactPoint = "cosmos-db-quickstarts.cassandra.cosmosdb.azure.com"; // DnsName

  7. Program.cs dosyasını kaydedin.

.NET uygulamasını çalıştırma

  1. Visual Studio'da, Araçlar>NuGet Paket Yöneticisi>Paket Yönetici Konsolu'nu seçin.

  2. Komut isteminde .NET Sürücüsü NuGet paketini yüklemek için aşağıdaki komutu kullanın.

    Install-Package CassandraCSharpDriver
    
  3. Uygulamayı çalıştırmak için CTRL+F5 tuşlarına basın. Uygulamanız konsol pencerenizde görüntülenir.

    View and verify the output

    Programın yürütülmesini durdurup konsol penceresini kapatmak için CTRL + C tuşlarına basın.

  4. Azure portalında bu yeni verileri sorgulamak, değiştirmek ve birlikte çalışmak için Veri Gezgini'ni açın.

    View the data in Data Explorer

Azure portalında SLA'ları gözden geçirme

Azure portalı Azure Cosmos DB hesabınızın aktarım hızını, depolama alanını, kullanılabilirliğini, gecikme süresini ve tutarlılığını izler. Azure Cosmos DB Hizmet Düzeyi Sözleşmesi (SLA) ile ilişkili ölçümler için grafikler, gerçek performansla karşılaştırıldığında SLA değerini gösterir. Bu ölçüm paketi, SLA'larınızın izlenmesini saydam hale getirir.

Ölçümleri ve SLA'ları gözden geçirmek için:

  1. Azure Cosmos DB hesabınızın gezinti menüsünde Ölçümler'i seçin.

  2. Gecikme süresi gibi bir sekme seçin ve sağ tarafta bir zaman çerçevesi seçin. Grafiklerdeki Gerçek ve SLA çizgilerini karşılaştırın.

    Azure Cosmos DB metrics suite

  3. Diğer sekmelerdeki ölçümleri gözden geçirin.

Kaynakları temizleme

Uygulamanız ve Azure Cosmos DB hesabınızla işiniz bittiğinde, daha fazla ücret ödemeden oluşturduğunuz Azure kaynaklarını silebilirsiniz. Kaynakları silmek için:

  1. Azure portalı Arama çubuğunda Kaynak grupları'nı arayın ve seçin.

  2. Listeden bu hızlı başlangıç için oluşturduğunuz kaynak grubunu seçin.

    Select the resource group to delete

  3. Kaynak grubuna Genel Bakış sayfasında Kaynak grubunu sil'i seçin.

    Delete the resource group

  4. Sonraki pencerede, silinecek kaynak grubunun adını girin ve sil'i seçin.

Sonraki adımlar

Bu hızlı başlangıçta Azure Cosmos DB hesabı oluşturmayı, Veri Gezgini'ni kullanarak kapsayıcı oluşturmayı ve bir web uygulamasını çalıştırmayı öğrendiniz. Artık diğer verileri Azure Cosmos DB hesabınıza aktarabilirsiniz.