Rychlý start: Vytvoření aplikace v Javě pro správu dat rozhraní API Cassandra Azure Cosmos DB (ovladač v4)
PLATÍ PRO:
rozhraní API Cassandra
V tomto rychlém startu vytvoříte účet služby Azure Cosmos DB rozhraní API Cassandra a pomocí aplikace Cassandra Java naklonované z GitHub vytvoříte databázi a kontejner Cassandra pomocí ovladačů Apache Cassandra v4.x pro Javu. Azure Cosmos DB je databázová služba pro více modelů, která umožňuje rychle vytvářet a dotazovat databáze dokumentů, tabulek, párů klíč-hodnota a grafů s globální distribucí a možnostmi horizontálního škálování.
Požadavky
- Účet Azure s aktivním předplatným. Vytvořte si ho zdarma. Nebo vyzkoušejte Azure Cosmos DB zdarma bez předplatného Azure.
- Java Development Kit (JDK) 8.
JAVA_HOMENasažte proměnnou prostředí do složky, ve které je nainstalovaná JDK. - Binární archiv Mavenu. Na Ubuntu spusťte a
apt-get install mavennainstalujte Maven. - Git. Spuštěním příkazu v Ubuntu
sudo apt-get install gitnainstalujte Git.
Poznámka
Toto je jednoduchý rychlý start, který používá verzi 4 open source ovladače Apache Cassandra pro Javu. Ve většině případů byste měli být schopni připojit existující závislou aplikaci Java Apache Cassandra k Azure Cosmos DB rozhraní API Cassandra bez jakýchkoli změn stávajícího kódu. Pro lepší celkové prostředí však doporučujeme přidat vlastní rozšíření Java,které zahrnuje vlastní zásady opakování a vyrovnávání zatížení a také doporučená nastavení připojení. V případě potřeby je potřeba zvládnout omezování rychlosti a převzetí služeb při selhání na úrovni aplikace ve službě Azure Cosmos DB. Komplexní ukázku, která rozšíření implementuje, najdete tady.
Vytvoření účtu databáze
Než budete moct vytvořit databázi dokumentů, je potřeba pomocí služby Azure Cosmos DB vytvořit účet Cassandra.
V nabídce Azure Portal nebo na domovské stránce vyberte vytvořit prostředek.
na nové stránce vyhledejte a vyberte Azure Cosmos DB.
na stránce Azure Cosmos DB vyberte vytvořit.
na stránce vytvořit Azure Cosmos DB účet zadejte základní nastavení pro nový účet Azure Cosmos.
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 zadejte nový název skupiny prostředků pro váš účet. pro jednoduchost použijte stejný název jako název účtu Azure Cosmos. 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 jenom malá písmena, číslice a spojovníky (-) a musí mít délku 3 až 31 znaků.rozhraní API Cassandra Rozhraní API určuje typ účtu, který se má vytvořit. Azure Cosmos DB poskytuje pět rozhraní api: Core (SQL) pro databáze dokumentů, Gremlin pro databáze grafů, MongoDB pro databáze dokumentů, tabulku Azure 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á spolupracuje s rozhraní API Cassandra.
Další informace o rozhraní API CassandraUmí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, a poskytněte jim tak nejrychlejší přístup k datům. Režim kapacity Zřízená propustnost nebo bez serveru Vyberte zřízenou propustnost a vytvořte účet v režimu zřízené propustnosti . Pokud chcete vytvořit účet v režimu bez serveru , vyberte možnost bez serveru . použít Azure Cosmos DB slevu úrovně free Použít nebo nepoužít u Azure Cosmos DB úrovně free získáte v účtu první 1000 RU/s a 25 GB úložiště zdarma. Přečtěte si další informace o bezplatné úrovni. Poznámka
v rámci předplatného Azure můžete mít až jednu úroveň bezplatného Azure Cosmos DB účtu a při vytváření účtu musíte souhlasit. Pokud nevidíte možnost použít slevu úrovně 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 na účtu spárováním oblasti s oblastí dvojice. Později můžete do svého účtu přidat další oblasti. Zápisy do více oblastí Zakázat Funkce pro zápis ve více oblastech vám umožní využít zřízené propustnosti pro vaše databáze a kontejnery po celém světě. Poznámka
Pokud jako režim kapacity vyberete možnost bez serveru , nejsou dostupné následující možnosti:
- Použít slevu založenou na bezplatné úrovni
- Geografická redundance
- Zápisy do více oblastí
Volitelně můžete na následujících kartách nakonfigurovat další podrobnosti:
- 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 buď klíč spravovaný službou, nebo klíč spravovaný zákazníkem.
- Značky – značky jsou páry název-hodnota , které umožňují kategorizaci prostředků a zobrazení konsolidované fakturace pomocí stejné značky pro 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, než se na stránce portálu zobrazí dokončené vaše nasazení.
vyberte přejít k prostředku a přejdete na stránku Azure Cosmos DB účet.
Klonování ukázkové aplikace
Teď přejděme k práci s kódem. Teď naklonujeme aplikaci Cassandra z GitHubu, nastavíme připojovací řetězec a spustíme ji. Přesvědčíte se, jak snadno se pracuje s daty prostřednictvím kódu programu.
Otevřete příkazový řádek. Vytvořte novou složku s názvem
git-samples. Pak zavřete příkazový řádek.md "C:\git-samples"Otevřete okno terminálu Git, například Git Bash, a pomocí příkazu
cdpřejděte do nové složky, do které chcete nainstalovat ukázkovou aplikaci.cd "C:\git-samples"Ukázkové úložiště naklonujete spuštěním následujícího příkazu. Tento příkaz vytvoří na vašem počítači kopii ukázkové aplikace.
git clone https://github.com/Azure-Samples/azure-cosmos-db-cassandra-java-getting-started-v4.git
Kontrola kódu
Tento krok je volitelný. Pokud vás zajímá, jak se pomocí kódu vytvoří prostředky databáze, můžete si prohlédnout následující fragmenty kódu. Jinak můžete přeskočit přímo k části Aktualizace informací o připojení. Všechny tyto fragmenty kódu jsou převzaté ze souboru src/main/java/com/azure/cosmosdb/cassandra/util/CassandraUtils.java.
Příkaz se připojí k azure Cosmos DB rozhraní API Cassandra a vrátí relaci pro přístup (objekt z ovladače
CqlSessionClusterv3 je teď zastaralý). Hostitel Cassandra, Port, Uživatelské jméno a heslo se nastavuje pomocí stránky připojovacího řetězce v Azure Portal.this.session = CqlSession.builder().withSslContext(sc) .addContactPoint(new InetSocketAddress(cassandraHost, cassandraPort)).withLocalDatacenter(region) .withAuthCredentials(cassandraUsername, cassandraPassword).build();
Následující fragmenty kódu jsou ze souboru src/main/java/com/azure/cosmosdb/cassandra/repository/UserRepository.java.
Pokud už keyspace existuje z předchozího spuštění, zahodte prostor klíčů.
public void dropKeyspace() { String query = "DROP KEYSPACE IF EXISTS "+keyspace+""; session.execute(query); LOGGER.info("dropped keyspace '"+keyspace+"'"); }Vytvoří se nový prostor klíčů.
public void createKeyspace() { String query = "CREATE KEYSPACE "+keyspace+" WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 }"; session.execute(query); LOGGER.info("Created keyspace '"+keyspace+"'"); }Vytvoří se nová tabulka.
public void createTable() { String query = "CREATE TABLE "+keyspace+"."+table+" (user_id int PRIMARY KEY, user_name text, user_bcity text)"; session.execute(query); LOGGER.info("Created table '"+table+"'"); }Entity uživatelů se vložily pomocí připraveného objektu příkazu.
public String prepareInsertStatement() { final String insertStatement = "INSERT INTO "+keyspace+"."+table+" (user_id, user_name , user_bcity) VALUES (?,?,?)"; return insertStatement; } public void insertUser(String preparedStatement, int id, String name, String city) { PreparedStatement prepared = session.prepare(preparedStatement); BoundStatement bound = prepared.bind(id, city, name).setIdempotent(true); session.execute(bound); }Dotazem získáte všechny informace o uživateli.
public void selectAllUsers() { final String query = "SELECT * FROM "+keyspace+"."+table+""; List<Row> rows = session.execute(query).all(); for (Row row : rows) { LOGGER.info("Obtained row: {} | {} | {} ", row.getInt("user_id"), row.getString("user_name"), row.getString("user_bcity")); } }Pomocí dotazu získáte informace o jednom uživateli.
public void selectUser(int id) { final String query = "SELECT * FROM "+keyspace+"."+table+" where user_id = 3"; Row row = session.execute(query).one(); LOGGER.info("Obtained row: {} | {} | {} ", row.getInt("user_id"), row.getString("user_name"), row.getString("user_bcity")); }
Aktualizace připojovacího řetězce
Teď se vraťte zpátky na portál Azure Portal, kde najdete informace o připojovacím řetězci, a zkopírujte je do aplikace. Podrobnosti o připojovacím řetězci umožňují vaší aplikaci komunikovat s hostovanou databází.
Ve svém účtu Azure Cosmos DB v Azure Portalvyberte Připojovací řetězec.
Pomocí
tlačítka na pravé straně obrazovky zkopírujte hodnotu KONTAKTNÍ BOD.Otevřete soubor config.properties ze složky C:\git-samples\azure-cosmosdb-cassandra-java-getting-started\java-examples\src\main\resources.
Vložte hodnotu KONTAKTNÍ BOD z portálu místo
<Cassandra endpoint host>na řádku 2.Řádek 2 souboru config.properties by teď měl vypadat podobně jako
cassandra_host=cosmos-db-quickstart.cassandra.cosmosdb.azure.comZpět na portál a zkopírujte hodnotu UŽIVATELSKÉ JMÉNO. Vložte hodnotu UŽIVATELSKÉ JMÉNO z portálu místo
<cassandra endpoint username>na řádku 4.Řádek 4 souboru config.properties by teď měl vypadat podobně jako
cassandra_username=cosmos-db-quickstartZpět na portál a zkopírujte hodnotu HESLO. Vložte hodnotu HESLO z portálu místo
<cassandra endpoint password>na řádku 5.Řádek 5 souboru config.properties by teď měl vypadat podobně jako
cassandra_password=2Ggkr662ifxz2Mg...==Pokud chcete na řádku 6 použít konkrétní certifikát TLS/SSL, nahraďte umístěním certifikátu
<SSL key store file location>TLS/SSL. Pokud není uvedená hodnota, použije se certifikát JDK nainstalovaný v <JAVA_HOME>/jre/lib/security/cacerts.Pokud jste řádek 6 změnili na použití konkrétního certifikátu TLS/SSL, aktualizujte řádek 7 tak, aby pro tento certifikát bylo heslo.
Všimněte si, že budete muset přidat výchozí oblast (například ) pro
West USkontaktní bod, například .region=West USJe to proto, že ovladač v.4x umožňuje spárování pouze jednoho místního řadiče domény s kontaktním bodem. Pokud chcete přidat jinou než výchozí oblast (což je oblast, která byla dána při prvním vytvoření účtu Cosmos DB), budete při přidávání kontaktních bodů muset použít příponu oblasti, například
host-westus.cassandra.cosmos.azure.com.Uložte soubor config.properties.
Spuštění aplikace v Javě
V okně terminálu Git přejděte pomocí příkazu
cddo složkyazure-cosmosdb-cassandra-java-getting-started-v4.cd "C:\git-samples\azure-cosmosdb-cassandra-java-getting-started-v4"V okně terminálu Git vygenerujte pomocí následujícího příkazu soubor
cosmosdb-cassandra-examples.jar.mvn clean installV okně terminálu Git pomocí následujícího příkazu spusťte aplikaci v Javě.
java -cp target/cosmosdb-cassandra-examples.jar com.azure.cosmosdb.cassandra.examples.UserProfileOkno terminálu zobrazí oznámení o vytvoření prostoru klíčů a tabulky. Potom vybere a vrátí všechny uživatele v tabulce, zobrazí výstup a potom vybere řádek podle ID a zobrazí příslušnou hodnotu.
Stisknutím kombinace kláves Ctrl+C zastavte provádění programu a zavřete okno konzoly.
Na portálu Azure Portal otevřete Data Explorer, abyste se mohli na tato nová data dotazovat, měnit je a pracovat s nimi.
Ověření smluv SLA na webu Azure Portal
Tento Azure Portal monitoruje propustnost Cosmos DB účtu, úložiště, dostupnost, latenci a konzistenci vašeho účtu. Grafy metrik přidružených k Azure Cosmos DB smlouva SLA (SLA) zobrazují hodnotu SLA v porovnání se skutečným výkonem. Díky této metrice je monitorování smluv SLA transparentní.
Kontrola metrik a smluv SLA:
V navigační nabídce vašeho Cosmos DB účtu vyberte Metriky.
Vyberte kartu, například Latence, a vpravo vyberte časový rámec. Porovnejte čáry Actual (Skutečný) a SLA (Sla) v grafech.

Zkontrolujte metriky na ostatních kartách.
Vyčištění prostředků
Až budete s aplikací a Azure Cosmos DB účtem hotovi, můžete odstranit prostředky Azure, které jste vytvořili, abyste se neúčtují další poplatky. Odstranění prostředků:
Na panelu hledání Azure Portal vyhledejte a vyberte skupiny prostředků.
V seznamu vyberte skupinu prostředků, kterou jste vytvořili pro tento rychlý Start.

Na stránce Přehled skupiny prostředků vyberte Odstranit skupinu prostředků.

V dalším okně zadejte název skupiny prostředků, kterou chcete odstranit, a pak vyberte Odstranit.
Další kroky
V tomto rychlém startu jste zjistili, jak vytvořit účet Azure Cosmos DB pomocí rozhraní API Cassandra a spustit aplikaci Cassandra v Javě, která vytvoří databázi a kontejner Cassandra. Teď můžete do svého účtu Azure Cosmos DB importovat další data.