Kurz: Vytvoření účtu rozhraní 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íč/hodnota můžete použít rozhraní API pro účet Cassandra ve službě Azure Cosmos DB. Tento kurz popisuje, jak pomocí aplikace Java vytvořit rozhraní API pro účet Cassandra ve službě Azure Cosmos DB, přidat databázi (označovanou také jako prostor klíčů) a tabulku. Aplikace Java používá ovladač Java k vytvoření uživatelské databáze, 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
- Spuštění aplikace
Požadavky
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.
Získejte nejnovější verzi sady Java Development Kit (JDK).
Stáhněte a nainstalujte binární archiv Maven .
- 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 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 Vytvořit v části Cassandra .
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 databáze grafů, 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řit nový
Pak zadejte stejný název jako Název účtu.Vyberte, že chcete vytvořit novou IP adresu. Pak pro svůj účet zadejte nový název skupiny prostředků. Pro zjednodušení použijte stejný název jako název účtu služby Azure Cosmos DB. Account Name 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 jedinečnému názvu účtu.
Název účtu může obsahovat pouze malá písmena, číslice a spojovníky (-) a musí být dlouhý 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 nejblíže vašim uživatelům, abyste jim poskytli nejrychlejší přístup k datům. Režim kapacity Zřízená propustnost nebo bezserverová Vyberte Zřízená propustnost a vytvořte účet v režimu zřízené propustnosti . Výběrem možnosti Bezserverový vytvořte účet v bezserverovém režimu. Uplatnění slevy na úrovni Free služby Azure Cosmos DB Použít nebo Neaplikovat Se službou Azure Cosmos DB úrovně Free získáte prvních 1 000 RU/s a 25 GB úložiště zdarma v rámci účtu. Přečtěte si 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 určitou hodnotu. Poznámka
Pro každé předplatné Azure můžete mít až jeden účet služby Azure Cosmos DB úrovně Free a při vytváření účtu musíte vyjádřit výslovný souhlas. Pokud možnost uplatnění slevy na úrovni Free nevidíte, znamená to, že úroveň Free už má povolený jiný účet v předplatném.
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 ve svém účtu spárováním oblasti s párovací oblastí. Později můžete ke svému účtu přidat další oblasti. Zápisy do více oblastí Zakázat Funkce zápisu do více oblastí umožňuje využívat zřízenou propustnost pro vaše 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
Následující možnosti nejsou k dispozici, pokud jako režim kapacity vyberete Bezserverový:
- 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ě – Nakonfigurujte přístup 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 buď klíč spravovaný službou, nebo klíč spravovaný zákazníkem.
- Značky – Značky jsou páry název/hodnota, které umožňují kategorizovat prostředky a zobrazit konsolidovanou fakturaci použitím stejné značky na 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 stránce portálu zobrazí Vaše nasazení je dokončené.
Výběrem možnosti Přejít k prostředku přejděte na stránku účtu služby Azure Cosmos DB.
Získání podrobností o připojení vašeho účtu
Získejte informace o připojovacím řetězci z 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í.
V Azure Portal přejděte ke svému úč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. Můžete spustit kroky v tomto dokumentu nebo si stáhnout ukázku z úložiště azure-cosmos-db-cassandra-java-getting-started .
Po stažení souborů aktualizujte informace o připojovacím řetězci java-examples\src\main\resources\config.properties
v 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>
K vytvoření ukázky od začátku použijte následující postup:
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 požadované pro váš projekt, jak je znázorněno v souborupom.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:V souboru config.properties se ukládají hodnoty koncového bodu připojení a klíče účtu rozhraní API pro 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 rozhraní 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 rozhraní 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 v Javě 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.
Vytvořte třídu User.java ve
src/main/java/com/azure/cosmosdb/cassandra/
složce s metodami get a set.
Přidání databáze a tabulky
Tato část popisuje, jak přidat databázi (prostor klíčů) a tabulku pomocí 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"); } } }
Spuštění aplikace
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, ve které 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 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: