Hızlı Başlangıç: .NET Core ve Azure Cosmos DB ile Cassandra uygulaması derleme
Uygulama hedefı:
Cassandra API
Bu hızlı başlangıçta, .NET Core ve Azure Cosmos DB Cassandra API kullanarak bir örneği GitHub. 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 genel olarak dağıtılmış ç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.
Önkoşullar
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun. Alternatif olarak, Azure Cosmos DB’yi ücretsiz olarak, Azure aboneliği olmadan ve herhangi bir taahhütte bulunmadan deneyebilirsiniz.
Ayrıca, şunlar gerekir:
- 2019'Visual Studio henüz yüklü değilse, ücretsiz Visual Studio 2019 Community Sürümünü indirip kullanabilirsiniz. Visual Studio kurulumu sırasında Azure dağıtımını etkinleştirdiğinizden emin olun.
- Örneği kopyalamak için Git yükleyin.
Veritabanı hesabı oluşturma
Kaynak Azure portal veya Giriş sayfasında Kaynak oluştur'a tıklayın.
Yeni sayfasında Azure veritabanı için arama Cosmos seçin.
Azure veritabanı Cosmos Oluştur'a tıklayın.
Azure veritabanı Cosmos hesabı oluştur sayfasında, yeni Azure veritabanı hesabı için temel Cosmos girin.
Ayar Değer Açıklama Abonelik Aboneliğiniz Bu Azure Cosmos DB hesabı için kullanmak istediğiniz Azure aboneliğini seçin. Kaynak Grubu Yeni oluştur
Ardından Hesap Adı ile aynı adı girinYeni oluştur’u seçin. Ardından hesabınız için yeni bir kaynak grubu adı girin. Kolaylık olması için Azure hesap adınızla aynı Cosmos kullanın. Hesap Adı Benzersiz bir ad girin Azure Cosmos DB hesabınızı tanımlayan benzersiz bir ad girin. Hesap URI'niz cassandra.cosmos.azure.com benzersiz hesap adınıza eklenir.
Hesap adı yalnızca küçük harf, rakam ve kısa çizgi (-) kullanabilir ve 3 ila 31 karakter uzunluğunda olmalıdır.API Cassandra API, oluşturulacak hesap türünü belirler. Azure Cosmos DB beş API sağlar: Belge veritabanları için çekirdek (SQL), 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 verilerle çalışan bir tablo Cassandra API.
Cassandra API hakkında daha fazla bilgi edinin.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ı'ı seçin. Sunucusuz modda bir hesap oluşturmak için Sunucusuz'ı seçin. Azure Cosmos DB ücretsiz katmanı indirimini uygulama Uygula veya Uygula Azure Cosmos DB ücretsiz katmanı ile bir hesapta ilk 1000 RU/sn ve 25 GB depolama alanı ücretsiz olarak elde edilir. Ücretsiz katman hakkında daha fazla bilgi. Not
Azure aboneliği başına en fazla bir ücretsiz azure Cosmos DB hesabına sahip olabilir ve hesabı oluştururken kabul etmek zorundasınız. Ücretsiz katman indirimi uygulama seçeneğini görmüyorsanız bu, abonelikte başka bir hesabın ücretsiz katmanla zaten etkinleştirilmiştir anlamına gelir.
Genel Dağıtım sekmesinde aşağıdaki ayrıntıları yapılandırabilirsiniz. Bu hızlı başlangıç için varsayılan değerleri bırakın:
Ayar Değer Açıklama Coğrafi Yedeklilik Devre Dışı Bırak Bölgenizi bir çift bölgeyle eşleştirerek hesabınız üzerinde genel dağıtımı etkinleştirin veya devre dışı bırakma. Hesabınıza daha sonra daha fazla bölge ekebilirsiniz. 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 için sağlanan aktarım hızından yararlanmanızı sağlar. Not
Kapasite modu olarak Sunucusuz seçeneğini belirtirsanız aşağıdaki seçenekler kullanılamaz:
- Ücretsiz Katman İndirimi Uygula
- Coğrafi yedeklilik
- Birden Çok Bölgeli Yazmalar
İsteğe bağlı olarak, aşağıdaki sekmelerde ek ayrıntıları yapılandırabilirsiniz:
- Ağ - Sanal ağdan erişimi yapılandırma.
- Yedekleme İlkesi - Düzenli veya sürekli yedekleme ilkesi yapılandırma.
- Şifreleme - Hizmet tarafından yönetilen anahtar veya müşteri tarafından yönetilen bir anahtar kullanın.
- Etiketler- Etiketler, birden çok kaynağa ve kaynak gruplarına aynı etiketi uygulayarak kaynakları kategorilere ayırmanız ve birleştirilmiş faturalamayı görüntülemenizi sağlayan ad/değer çiftleridir.
Gözden geçir ve oluştur’u seçin.
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.
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 bir Cassandra API’si uygulaması kopyalayalım, bağlantı dizesini ayarlayalım ve uygulamayı çalıştıralım. Verilerle program aracılığıyla çalışmanın ne kadar kolay olduğunu göreceksiniz.
Bir komut istemi açın.
git-samplesadlı yeni bir klasör oluşturun. Ardından, komut istemini kapatın.md "C:\git-samples"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
cdkomutunu kullanın.cd "C:\git-samples"Ö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-core-getting-started.gitArdı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 hepsi yöntemi Program.cs içindeki async Task ProcessAsync() dosyasından alınarak klasörüne C:\git-samples\azure-cosmos-db-cassandra-dotnet-core-getting-started\CassandraQuickStart yüklenir. 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 üzerinde 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 = await cluster.ConnectAsync();Zaten varsa mevcut anahtar alanı bırakın.
await session.ExecuteAsync(new SimpleStatement("DROP KEYSPACE IF EXISTS uprofile"));Yeni bir anahtar alanı oluşturun.
await session.ExecuteAsync(new SimpleStatement("CREATE KEYSPACE uprofile WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 };"));Yeni bir tablo oluşturun.
await session.ExecuteAsync(new SimpleStatement("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.
await mapper.InsertAsync<User>(new User(1, "LyubovK", "Dubai"));Tüm kullanıcıların bilgilerini almak için sorgulayın.
foreach (User user in await mapper.FetchAsync<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.
Azure portalındaBağlantı Dizesi’ni seçin.
USERNAME
değerini kopyalamak için ekranın sağ tarafındaki düğmeyi kullanın.
Bu Visual Studio Program.cs dosyasını açın.
Portaldan USERNAME değerini 13. satırdaki
<PROVIDE>ü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";Contact POINT değeri için aynı değeri
<PROVIDE>15. satıra da yapıştırebilirsiniz:private const string CassandraContactPoint = "cosmos-db-quickstarts.cassandra.cosmosdb.azure.com"; // DnsNamePortala geri dönün ve PASSWORD değerini kopyalayın. Portaldan PASSWORD değerini 14. satırdaki
<PROVIDE>üzerine yapıştırın.Program.cs dosyasının 14. satırı şuna benzer şekilde görünmelidir:
private const string Password = "2Ggkr662ifxz2Mg...==";Portala geri dönün ve CONTACT POINT değerini kopyalayın. Portaldan CONTACT POINT değerini
<PROVIDE>16. satırda üzerine yapıştırın.Program.cs'nin 16. satırı şuna benzer şekilde görünüyor:
private const string CASSANDRACONTACTPOINT = "quickstart-cassandra-api.cassandra.cosmos.azure.com";Program.cs dosyasını kaydedin.
.NET Core uygulamasını çalıştırma
Bu Visual Studio Konsolu'NuGet Paket Yöneticisi > > Paket Yöneticisi seçin.
Komut isteminde .NET Sürücüsü NuGet paketini yüklemek için aşağıdaki komutu kullanın.
Install-Package CassandraCSharpDriverUygulamayı çalıştırmak için CTRL+F5 tuşlarına basın. Uygulamanız konsol pencerenizde görüntülenir.
Programın yürütülmesini durdurup konsol penceresini kapatmak için CTRL + C tuşlarına basın.
Azure portalında bu yeni verileri sorgulamak, değiştirmek ve birlikte çalışmak için Veri Gezgini'ni açın.
Azure portalında SLA'ları gözden geçirme
Bu Azure portal, Cosmos DB aktarım hızı, depolama alanı, kullanılabilirlik, gecikme süresi ve tutarlılığı izler. Bir Azure Cosmos DB Hizmet Düzeyi Sözleşmesi (SLA) ile ilişkili ölçümler, gerçek performansla karşılaştırıldığında SLA değerini gösterir. Bu ölçüm paketi, SLA'larınızı izlemenizi saydam hale gelir.
Ölçümleri ve SLA'ları gözden geçirmek için:
Hesap gezinti Cosmos DB Ölçümler'i seçin.
Gecikme süresi gibi bir sekme seçin ve sağdan bir zaman çerçevesi seçin. Grafiklerde Gerçek ve SLA çizgilerini karşılaştırın.

Diğer sekmelerde ölçümleri gözden geçirme.
Kaynakları temizleme
Uygulama ve hesap hesabınızla Azure Cosmos DB, daha fazla ücret ödemeden oluşturduğunuz Azure kaynaklarını silebilirsiniz. Kaynakları silmek için:
Arama Azure portal kaynak grupları için arama ve seçimlerini kullanın.
Listeden bu hızlı başlangıç için oluşturduğunuz kaynak grubunu seçin.

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

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. Şimdi Cosmos DB hesabınıza ek veri aktarabilirsiniz.