Kurz: Vytvoření účtu API pro Cassandra ve službě Azure Cosmos DB pomocí aplikace v Javě 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 Java vytvořit účet API pro Cassandra ve službě Azure Cosmos DB, přidat databázi (označovanou také jako keyspace) 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ření účtu databáze Cassandra
- Získání připojovacího řetězce účtu
- Vytvoření projektu Maven a závislostí
- Přidání databáze a tabulky
- Spustit aplikaci
Požadavky
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Získejte nejnovější verzi sady Java Development Kit (JDK).
Stáhněte a nainstalujte binární archiv Mavenu.
- Na Ubuntu můžete Maven nainstalovat spuštěním příkazu
apt-get install maven
.
- Na Ubuntu můžete Maven nainstalovat spuštěním příkazu
Vytvoření účtu databáze
V nabídce webu Azure Portal nebo na domovské stránce vyberte Vytvořit prostředek.
Na stránce Nový vyhledejte a vyberte Azure Cosmos DB.
Na stránce Azure Cosmos DB vyberte Vytvořit.
Na stránce rozhraní API vyberte v části Cassandra možnost 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 rychlém startu vytváříte tabulku, která funguje s rozhraním API pro Cassandra.
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ření nových
Potom 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 vašeho účtu se cassandra.cosmos.azure.com připojí 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 nejbližší 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žovat 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. Další informace o úrovni Free Omezení celkové propustnosti účtu Vyberte, pokud chcete omezit propustnost účtu. To 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 maximálně jeden účet Azure Cosmos DB úrovně Free a při vytváření tohoto účtu se musíte přihlásit. Pokud se vám nezobrazuje možnost použít slevu založenou na úrovni Free, znamená to, že v předplatném už je povolený jiný účet s úrovní Free.
Na kartě Globální distribuce nakonfigurujte následující podrobnosti. Pro účely tohoto rychlého startu můžete ponechat výchozí hodnoty:
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 oblastí Zakázat Funkce zápisu do více oblastí umožňuje využívat 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í. Poznámka:
Pokud jako režim kapacity vyberete bezserverový režim, nejsou k dispozici následující možnosti:
- Použít slevu založenou na bezplatné úrovni
- Geografická redundance
- Zápisy do více oblastí
Volitelně můžete nakonfigurovat další podrobnosti na následujících kartách:
- Sítě – Konfigurace přístupu z virtuální sítě
- Zásady zálohování – Nakonfigurujte zásady pravidelného nebo průběžného zálohování.
- Šifrování – Použijte klíč spravovaný službou nebo klíč spravovaný zákazníkem.
- Značky – Značky jsou páry názvů a hodnot, které umožňují kategorizovat prostředky a zobrazit konsolidovanou fakturaci použitím stejné značky u více prostředků a skupin prostředků.
Vyberte Zkontrolovat a vytvořit.
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é.
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í.
Na webu Azure Portal přejděte do svého účtu služby Azure Cosmos DB.
Otevřete podokno Připojovací řetězec.
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. Kroky v tomto dokumentu můžete spustit 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>
Pomocí následujících kroků sestavte ukázku úplně od začátku:
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
Najděte složku
cassandra-demo
. Pomocí textového editoru otevřete souborpom.xml
, který byl vygenerován.Přidejte závislosti Cassandra a sestavte moduly plug-in vyžadované vaším projektem, jak je znázorněno v souboru pom.xml .
Ve složce
cassandra-demo\src\main
vytvořte novou složku s názvemresources
. Ve složce prostředků 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.
Přejděte do
src/main/java/com/azure/cosmosdb/cassandra/
složky. Ve složce cassandra vytvořte další složku s názvemutils
. V nové složce jsou uložené třídy nástrojů potřebné pro připojení k účtu API pro 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. Pomocí třídy Konfigurace si přečtěte informace o připojovacím řetězci ze souboru config.properties.
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. Budete muset definovat metody get a set pro přístup k podrobnostem o uživateli v hlavní funkci.
Ve složce vytvořte třídu
src/main/java/com/azure/cosmosdb/cassandra/
User.java pomocí metod get a set.
Přidání databáze a tabulky
Tato část popisuje, jak přidat databázi (keyspace) a tabulku pomocí jazyka CQL.
Ve složce
src\main\java\com\azure\cosmosdb\cassandra
vytvořte novou složku s názvemrepository
.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'"); } }
Vyhledejte složku
src\main\java\com\azure\cosmosdb\cassandra
a vytvořte novou podsložku s názvemexamples
.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
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 souborcosmosdb-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.
Teď na webu Azure Portal otevřete Průzkumníka dat a potvrďte, že byl vytvořen prostor klíčů a tabulka.
Další kroky
V tomto kurzu jste se naučili 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:
Načtěte ukázková data do tabulky API for Cassandra.