Sdílet prostřednictvím


Kurz: Vytvoření účtu API pro Cassandra ve službě Azure Cosmos DB pomocí aplikace Java k ukládání dat klíč/hodnota

PLATÍ PRO: Cassandra

Jako vývojář můžete mít aplikace, které používají páry klíč/hodnota. K uložení dat klíče a hodnoty můžete použít rozhraní API pro účet Cassandra ve službě Azure Cosmos DB. Tento kurz popisuje, jak pomocí aplikace v Javě vytvořit účet API pro Cassandra ve službě Azure Cosmos DB, přidat databázi (označovanou také jako prostor klíčů) a přidat tabulku. Aplikace v Javě pomocí ovladače Java vytvoří uživatelskou databázi, která obsahuje podrobnosti, jako je ID uživatele, uživatelské jméno a město uživatele.

Tento kurz se zabývá následujícími úkony:

  • Vytvořte účet databáze Cassandra.
  • Získejte připojovací řetězec účtu.
  • Vytvořte projekt Maven a nastavte závislosti.
  • Přidejte databázi a tabulku.
  • Spustit aplikaci.

Požadavky

Vytvoření účtu databáze

  1. V nabídce webu Azure Portal nebo na domovské stránce vyberte Vytvořit prostředek.

  2. Na stránce Nový vyhledejte a vyberte Azure Cosmos DB.

  3. Na stránce Azure Cosmos DB vyberte Vytvořit.

  4. Na stránce rozhraní API v části Cassandra vyberte Vytvořit.

    Rozhraní API určuje typ účtu, který se má vytvořit. Azure Cosmos DB poskytuje pět rozhraní API: NoSQL pro databáze dokumentů, Gremlin pro grafové databáze, MongoDB pro databáze dokumentů, Azure Table a Cassandra. Pro každé rozhraní API musíte vytvořit samostatný účet.

    Vyberte Cassandra , protože v tomto kurzu vytváříte tabulku, která funguje s rozhraním API pro Cassandra.

    Další informace o rozhraní API pro Cassandra najdete v tématu Co je Azure Cosmos DB pro Apache Cassandra?

  5. Na stránce Vytvořit účet služby Azure Cosmos DB zadejte základní nastavení nového účtu služby Azure Cosmos DB.

    Nastavení Hodnota Popis
    Předplatné Vaše předplatné. Vyberte předplatné Azure, které chcete pro tento účet služby Azure Cosmos DB použít.
    Skupina prostředků Vytvořte novou.

    Pak zadejte stejný název jako Název účtu.
    Vyberte, že chcete vytvořit novou IP adresu. Pak zadejte název nové skupiny prostředků pro váš účet. Pro zjednodušení použijte stejný název jako název účtu služby Azure Cosmos DB.
    Název účtu Zadejte jedinečný název. Zadejte jedinečný název, který identifikuje váš účet služby Azure Cosmos DB. Identifikátor URI cassandra.cosmos.azure.comvašeho účtu , připojený k vašemu jedinečnému názvu účtu.

    Název účtu může používat jenom malá písmena, číslice a pomlčky (-) a musí mít délku 3 až 31 znaků.
    Umístění Oblast, která je nejblíže vašim uživatelům. Vyberte zeměpisné umístění, ve kterém chcete účet služby Azure Cosmos DB hostovat. Použijte umístění, které je vašim uživatelům nejbližší, abyste jim zajistili nejrychlejší přístup k datům.
    Režim kapacity Zřízená propustnost nebo bezserverová. Vyberte Zřízenou propustnost a vytvořte účet v režimu zřízené propustnosti . Vyberte Bezserverový účet a vytvořte účet v bezserverovém režimu.
    Uplatnění slevy na úroveň Free služby Azure Cosmos DB Použít nebo nepoužít. S úrovní Free služby Azure Cosmos DB získáte prvních 1 000 RU/s a 25 GB úložiště zdarma v účtu. Přečtěte si další informace o úrovni Free.
    Omezení celkové propustnosti účtu Vyberte, pokud chcete omezit propustnost účtu. Tato možnost je užitečná, pokud chcete omezit celkovou propustnost účtu na konkrétní hodnotu.

    Poznámka:

    Pro každé předplatné Azure můžete mít až jeden účet služby Azure Cosmos DB úrovně Free. Při vytváření účtu se musíte přihlásit. Pokud možnost uplatnění slevy na úroveň Free nevidíte, byl pro úroveň Free povolený jiný účet v předplatném.

    Stránka nového účtu služby Azure Cosmos DB pro Apache Cassandra

  6. Na kartě Globální distribuce nakonfigurujte následující podrobnosti. Použijte výchozí hodnoty pro tento kurz.

    Nastavení Hodnota Popis
    Geografická redundance Zakázat Povolte nebo zakažte globální distribuci vašeho účtu spárováním oblasti s párovou oblastí. Další oblasti můžete do svého účtu přidat později.
    Zápisy do více regionů Zakázat Díky možnosti zápisu do víceregionů můžete využít zřízenou propustnost pro databáze a kontejnery po celém světě.
    Zóny dostupnosti Zakázat Zóny dostupnosti jsou izolovaná umístění v rámci oblasti Azure. Každou zónu tvoří jedno nebo několik datacenter vybavených nezávislým napájením, chlazením a sítí.

    Pokud jako režim kapacity vyberete bezserverový režim, nejsou k dispozici následující možnosti:

    • Uplatnit slevu za bezplatnou úroveň
    • Geografická redundance
    • Zápisy do více regionů
  7. Volitelně můžete nakonfigurovat další podrobnosti na následujících kartách:

  8. Vyberte Zkontrolovat a vytvořit.

  9. Zkontrolujte nastavení účtu a pak vyberte Vytvořit. Vytvoření účtu trvá několik minut. Počkejte, až se na portálu zobrazí stránka s textem Vaše nasazení je hotové.

    Snímek obrazovky znázorňující podokno Oznámení na webu Azure Portal

  10. Pokud chcete přejít na stránku účtu Azure Cosmos DB, vyberte Přejít k prostředku.

Získání podrobností o připojení vašeho účtu

Získejte připojovací řetězec informace z webu Azure Portal a zkopírujte je do konfiguračního souboru Javy. Připojovací řetězec umožňuje vaší aplikaci komunikovat s hostovanou databází.

  1. Na webu Azure Portal přejděte do svého účtu služby Azure Cosmos DB.

  2. Otevřete podokno Připojovací řetězec.

  3. Zkopírujte hodnoty KONTAKTNÍ BOD, PORT, UŽIVATELSKÉ JMÉNO a PRIMÁRNÍ HESLO pro použití v dalších krocích.

Vytvoření projektu a závislostí

Ukázkový projekt Java, který používáte v tomto článku, je hostovaný na GitHubu. Můžete spustit kroky v tomto článku nebo stáhnout ukázku z úložiště azure-cosmos-db-cassandra-java-getting-started .

Po stažení souborů aktualizujte připojovací řetězec informace v java-examples\src\main\resources\config.properties souboru a spusťte je.

cassandra_host=<FILLME_with_CONTACT POINT> 
cassandra_port = 10350 
cassandra_username=<FILLME_with_USERNAME> 
cassandra_password=<FILLME_with_PRIMARY PASSWORD> 

Pokud chcete vytvořit ukázku úplně od začátku, postupujte takto:

  1. Z terminálu nebo příkazového řádku vytvořte nový projekt Maven s názvem cassandra-demo.

    mvn archetype:generate -DgroupId=com.azure.cosmosdb.cassandra -DartifactId=cassandra-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 
    
  2. Najděte složku cassandra-demo. Pomocí textového editoru pom.xml otevřete vygenerovaný soubor.

    Přidejte závislosti Cassandra a sestavte moduly plug-in, které váš projekt vyžaduje, jak je znázorněno v souboru pom.xml .

  3. Ve složce cassandra-demo\src\main vytvořte novou složku s názvem resources. Ve složce resources přidejte soubory config.properties a log4j.properties.

    • Soubor config.properties ukládá koncový bod připojení a hodnoty klíče rozhraní API pro účet Cassandra.
    • Soubor log4j.properties definuje úroveň protokolování vyžadovanou pro interakci s rozhraním API pro Cassandra.
  4. Přejděte do src/main/java/com/azure/cosmosdb/cassandra/ složky. cassandra Ve složce vytvořte jinou složku s názvem utils. Nová složka ukládá třídy utility, které jsou nutné pro připojení k rozhraní API pro účet Cassandra.

    Přidejte třídu CassandraUtils k vytvoření clusteru a k otvírání a zavírání relací Cassandra. Cluster se připojí k účtu API pro Cassandra ve službě Azure Cosmos DB a vrátí relaci pro přístup. Ke čtení informací o připojovacím řetězci ze souboru použijte třídu config.properties.

  5. Ukázka Javy vytvoří databázi s informacemi o uživateli, jako je uživatelské jméno, ID uživatele a město uživatele. Potřebujete definovat get a set metody pro přístup k podrobnostem uživatele v hlavní funkci.

    Vytvořte třídu User.java ve src/main/java/com/azure/cosmosdb/cassandra/ složce s metodamiget.set

Přidání databáze a tabulky

Tato část popisuje, jak přidat databázi (keyspace) a tabulku pomocí jazyka CQL (Cassandra Query Language).

  1. Ve složce src\main\java\com\azure\cosmosdb\cassandra vytvořte novou složku s názvem repository.

  2. UserRepository Vytvořte třídu Java a přidejte do ní následující kód:

    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. Vyhledejte složku src\main\java\com\azure\cosmosdb\cassandra a vytvořte novou podsložku s názvem examples.

  4. UserProfile Vytvořte třídu Java. Tato třída obsahuje hlavní metodu, která volá metody createKeyspace a createTable, které jste definovali dříve.

    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"); 
            } 
        } 
    } 
    

Spustit aplikaci

  1. Otevřete příkazový řádek nebo okno terminálu. Vložte následující blok kódu.

    Tento kód změní adresář (cd) na cestu ke složce, kam jste projekt vytvořili. Pak spustí příkaz mvn clean install, který v cílové složce vygeneruje soubor cosmosdb-cassandra-examples.jar. A nakonec spustí aplikaci v Javě.

    cd cassandra-demo
    
    mvn clean install 
    
    java -cp target/cosmosdb-cassandra-examples.jar com.azure.cosmosdb.cassandra.examples.UserProfile 
    

    Okno terminálu zobrazí oznámení o vytvoření prostoru klíčů a tabulky.

  2. V portálu Azure otevřete Data Explorer a ověřte, že se vytvořil prostor klíčů a tabulka.

Další krok

V tomto kurzu jste zjistili, jak vytvořit účet API pro Cassandra ve službě Azure Cosmos DB, databázi a tabulku pomocí aplikace v Javě. Teď můžete přejít k dalšímu článku: