Öğretici: Anahtar/değer verilerini depolamak için Java uygulaması kullanarak Azure Cosmos DB'de Cassandra hesabı için API oluşturma
ŞUNLAR IÇIN GEÇERLIDIR: Cassandra
Geliştirici olarak anahtar/değer çiftleri kullanan uygulamalarınız olabilir. Anahtar/değer verilerini depolamak için Azure Cosmos DB'de Cassandra hesabı için bir API kullanabilirsiniz. Bu öğreticide, Azure Cosmos DB'de Cassandra hesabı için API oluşturmak, veritabanı eklemek (anahtar alanı olarak da adlandırılır) ve tablo eklemek için Java uygulamasının nasıl kullanılacağı açıklanmaktadır. Java uygulaması, kullanıcı kimliği, kullanıcı adı ve kullanıcı şehri gibi ayrıntıları içeren bir kullanıcı veritabanı oluşturmak için Java sürücüsünü kullanır.
Bu öğretici aşağıdaki görevleri kapsar:
- Cassandra veritabanı hesabı oluşturma
- Hesabın bağlantı dizesini alma
- Maven projesi ve bağımlılıkları oluşturma
- Veritabanı ve tablo ekleme
- Uygulamayı çalıştırma
Önkoşullar
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Java Development Kit'in (JDK) en son sürümünü edinin.
Maven ikili arşivini indirin ve yükleyin.
- Ubuntu’da Maven’i yüklemek için
apt-get install maven
komutunu çalıştırabilirsiniz.
- Ubuntu’da Maven’i yüklemek için
Veritabanı hesabı oluşturma
Azure portalı menüsünde veya Giriş sayfasında Kaynak oluştur'u seçin.
Yeni sayfasında Azure Cosmos DB'yi arayın ve seçin.
Azure Cosmos DB sayfasında Oluştur'u seçin.
API sayfasında Cassandra bölümünün altında Oluştur'u seç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.
Azure Cosmos DB Hesabı Oluştur sayfasında yeni Azure Cosmos DB hesabının temel ayarlarını girin.
Ayar Value Açıklama 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ı 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 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ı'na tıklayın. Sunucusuz modda hesap oluşturmak için Sunucusuz'u seç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. Not
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.
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 Açıklama 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. Not
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
İ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.
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.
Hesabınızın bağlantı ayrıntılarını alma
Azure portalından bağlantı dizesi bilgilerini alın ve Java yapılandırma dosyasına kopyalayın. Bağlantı dizesi, uygulamanızın barındırılan veritabanıyla iletişim kurmasına olanak tanır.
Bağlantı Dizesi bölmesini açın.
TEMAS NOKTASI, BAĞLANTI NOKTASI, KULLANICI ADI ve BİRİNCİL PAROLA değerlerini sonraki adımlarda kullanmak üzere kopyalayın.
Projeyi ve bağımlılıkları oluşturma
Bu makalede kullandığınız Java örnek projesi GitHub'da barındırılır. Bu belgedeki adımları çalıştırabilir veya örneği azure-cosmos-db-cassandra-java-getting-started deposundan indirebilirsiniz.
Dosyaları indirdikten sonra dosyadaki bağlantı dizesi bilgilerini güncelleştirin java-examples\src\main\resources\config.properties
ve çalıştırın.
cassandra_host=<FILLME_with_CONTACT POINT>
cassandra_port = 10350
cassandra_username=<FILLME_with_USERNAME>
cassandra_password=<FILLME_with_PRIMARY PASSWORD>
Örneği sıfırdan oluşturmak için aşağıdaki adımları kullanın:
Terminalden veya komut isteminden, Cassandra-demo adlı yeni bir Maven projesi oluşturun.
mvn archetype:generate -DgroupId=com.azure.cosmosdb.cassandra -DartifactId=cassandra-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
cassandra-demo
klasörünü bulun. Metin düzenleyicisi kullanarak, oluşturulmuş olanpom.xml
dosyasını açın.pom.xml dosyasında gösterildiği gibi, projenizin gerektirdiği Cassandra bağımlılıklarını ve derleme eklentilerini ekleyin.
cassandra-demo\src\main
klasörünün altındaresources
adlı yeni bir klasör oluşturun. Resources klasörünün altına config.properties ve log4j.properties dosyalarını ekleyin:config.properties dosyası, Cassandra hesabı için API'nin bağlantı uç noktasını ve anahtar değerlerini depolar.
log4j.properties dosyası, Cassandra API'siyle etkileşimde bulunurken gereken günlük düzeyini tanımlar.
Klasöre
src/main/java/com/azure/cosmosdb/cassandra/
göz atın. Cassandra klasörünün içindeutils
adlı başka bir klasör oluşturun. Yeni klasör, Cassandra hesabı için API'ye bağlanmak için gereken yardımcı program sınıflarını depolar.Kümeyi oluşturmak ve Cassandra oturumlarını açıp kapatmak için CassandraUtils sınıfını ekleyin. Küme, Azure Cosmos DB'de Cassandra hesabı için API'ye bağlanır ve erişmek için bir oturum döndürür. Config.properties dosyasından bağlantı dizesi bilgisini okumak için Configurations sınıfını kullanın.
Java örneği kullanıcı adı, kullanıcı kimliği ve kullanıcı şehri gibi kullanıcı bilgilerini içeren bir veritabanı oluşturur. Main işlevindeki kullanıcı ayrıntılarına erişmek için get ve set yöntemlerini tanımlamanız gerekir.
get ve set yöntemleriyle klasörünün
src/main/java/com/azure/cosmosdb/cassandra/
altında bir User.java sınıfı oluşturun.
Veritabanı ve tablo ekleme
Bu bölümde CQL kullanarak veritabanı (keyspace) ve tablo ekleme işlemleri açıklanmaktadır.
src\main\java\com\azure\cosmosdb\cassandra
klasörünün altındarepository
adlı yeni bir klasör oluşturun.Java sınıfını
UserRepository
oluşturun ve aşağıdaki kodu ekleyin:package com.azure.cosmosdb.cassandra.repository; import java.util.List; import com.datastax.driver.core.BoundStatement; import com.datastax.driver.core.PreparedStatement; import com.datastax.driver.core.Row; import com.datastax.driver.core.Session; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Create a Cassandra session */ public class UserRepository { private static final Logger LOGGER = LoggerFactory.getLogger(UserRepository.class); private Session session; public UserRepository(Session session) { this.session = session; } /** * Create keyspace uprofile in cassandra DB */ public void createKeyspace() { final String query = "CREATE KEYSPACE IF NOT EXISTS uprofile WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 }"; session.execute(query); LOGGER.info("Created keyspace 'uprofile'"); } /** * Create user table in cassandra DB */ public void createTable() { final String query = "CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)"; session.execute(query); LOGGER.info("Created table 'user'"); } }
src\main\java\com\azure\cosmosdb\cassandra
klasörünü bulun veexamples
adlı yeni bir alt klasör oluşturun.Java sınıfını
UserProfile
oluşturun. Bu sınıf, daha önce tanımladığınız createKeyspace ve createTable yöntemlerini çağıran main yöntemini içerir:package com.azure.cosmosdb.cassandra.examples; import java.io.IOException; import com.azure.cosmosdb.cassandra.repository.UserRepository; import com.azure.cosmosdb.cassandra.util.CassandraUtils; import com.datastax.driver.core.PreparedStatement; import com.datastax.driver.core.Session; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Example class which will demonstrate following operations on Cassandra Database on CosmosDB * - Create Keyspace * - Create Table * - Insert Rows * - Select all data from a table * - Select a row from a table */ public class UserProfile { private static final Logger LOGGER = LoggerFactory.getLogger(UserProfile.class); public static void main(String[] s) throws Exception { CassandraUtils utils = new CassandraUtils(); Session cassandraSession = utils.getSession(); try { UserRepository repository = new UserRepository(cassandraSession); //Create keyspace in cassandra database repository.createKeyspace(); //Create table in cassandra database repository.createTable(); } finally { utils.close(); LOGGER.info("Please delete your table after verifying the presence of the data in portal or from CQL"); } } }
Uygulamayı çalıştırma
Bir komut istemi veya terminal penceresi açın. Aşağıdaki kod bloğunu yapıştırın.
Bu kod, dizini (cd) projeyi oluşturduğunuz klasör yoluna değiştirir. Ardından hedef klasörde
cosmosdb-cassandra-examples.jar
dosyasını oluşturmak içinmvn clean install
komutunu çalıştırır. Son olarak, Java uygulamasını çalıştırır.cd cassandra-demo mvn clean install java -cp target/cosmosdb-cassandra-examples.jar com.azure.cosmosdb.cassandra.examples.UserProfile
Terminal penceresinde anahtar alanı ve tablonun oluşturulduğuna yönelik bildirimler gösterilir.
Şimdi, keyspace'in ve tablonun oluşturulduğunu onaylamak için Azure portalda Veri Gezgini'ni açın.
Sonraki adımlar
Bu öğreticide, Java uygulaması kullanarak Azure Cosmos DB'de Cassandra hesabı, veritabanı ve tablo için API oluşturmayı öğrendiniz. Şimdi bir sonraki makaleye geçebilirsiniz: