Öğ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

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'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.

  5. 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ı 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ı'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.

    Apache Cassandra için Azure Cosmos DB'nin yeni hesap sayfası

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

    Azure portaldaki Bildirimler bölmesi

  10. 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.

  1. Azure portalından Azure Cosmos DB hesabınıza gidin.

  2. Bağlantı Dizesi bölmesini açın.

  3. 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:

  1. 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 
    
  2. cassandra-demo klasörünü bulun. Metin düzenleyicisi kullanarak, oluşturulmuş olan pom.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.

  3. cassandra-demo\src\main klasörünün altında resources 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.

  4. Klasöre src/main/java/com/azure/cosmosdb/cassandra/ göz atın. Cassandra klasörünün içinde utils 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.

  5. 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.

  1. src\main\java\com\azure\cosmosdb\cassandra klasörünün altında repository adlı yeni bir klasör oluşturun.

  2. 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'"); 
        } 
    } 
    
  3. src\main\java\com\azure\cosmosdb\cassandra klasörünü bulun ve examples adlı yeni bir alt klasör oluşturun.

  4. 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

  1. 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çin mvn 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.

  2. Ş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: