Rychlý start: Vytvoření aplikace Java pro správu dat Azure Cosmos DB for Apache Cassandra (ovladač v3)

PLATÍ PRO: Cassandra

V tomto rychlém startu vytvoříte účet Azure Cosmos DB for Apache Cassandra a pomocí aplikace Cassandra Java naklonované z GitHubu vytvoříte databázi a kontejner Cassandra pomocí ovladačů Apache Cassandra v3.x pro Javu. Azure Cosmos DB je vícemodelová databázová služba, která umožňuje rychle vytvářet a dotazovat databáze dokumentů, tabulek, klíč-hodnota a grafů s možnostmi globální distribuce a horizontálního škálování.

Požadavky

Poznámka

Toto je jednoduchý rychlý start, který používá verzi 3 opensourcového ovladače Apache Cassandra pro Javu. Ve většině případů byste měli být schopni připojit existující aplikaci Java závislou na Apache Cassandře ke službě Azure Cosmos DB for Apache Cassandra bez jakýchkoli změn existujícího kódu. Doporučujeme ale přidat vlastní rozšíření Java, které zahrnuje vlastní zásady opakování a vyrovnávání zatížení, aby se celkově zlepšilo prostředí. Jedná se o řešení 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á toto 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.

  1. V nabídce 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 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.

    Přečtěte si další informace o rozhraní API pro 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ř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.

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

  6. 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í
  7. 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 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ů.
  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 stránce portálu zobrazí Vaše nasazení je dokončené.

    Podokno Oznámení portálu Azure Portal

  10. Výběrem možnosti Přejít k prostředku přejděte na stránku účtu služby Azure Cosmos DB.

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.

  1. 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"
    
  2. Otevřete okno terminálu Git, například Git Bash, a pomocí příkazu cd přejděte do nové složky, do které chcete nainstalovat ukázkovou aplikaci.

    cd "C:\git-samples"
    
  3. 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.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 pocházejí ze souboru src/main/java/com/azure/cosmosdb/cassandra/util/CassandraUtils.java .

  • Nastaví se možnosti hostitel Cassandra, port, uživatelské jméno, heslo a TLS/SSL. Informace o připojovacím řetězci pocházejí ze stránky připojovacího řetězce na webu Azure Portal.

    cluster = Cluster.builder().addContactPoint(cassandraHost).withPort(cassandraPort).withCredentials(cassandraUsername, cassandraPassword).withSSL(sslOptions).build();
    
  • Nástroj se cluster připojí ke službě Azure Cosmos DB for Apache Cassandra a vrátí relaci pro přístup.

    return cluster.connect();
    

Následující fragmenty kódu pocházejí ze souboru src/main/java/com/azure/cosmosdb/cassandra/repository/UserRepository.java .

  • Vytvořte nový prostor klíčů.

    public void createKeyspace() {
        final String query = "CREATE KEYSPACE IF NOT EXISTS uprofile WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '3' } ";
        session.execute(query);
        LOGGER.info("Created keyspace 'uprofile'");
    }
    
  • Vytvořte novou tabulku.

    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'");
    }
    
  • Vložte entity uživatelů pomocí objektu připravených příkazů.

    public PreparedStatement prepareInsertStatement() {
        final String insertStatement = "INSERT INTO  uprofile.user (user_id, user_name, user_bcity) VALUES (?,?,?)";
        return session.prepare(insertStatement);
    }
    
    public void insertUser(PreparedStatement statement, int id, String name, String city) {
        BoundStatement boundStatement = new BoundStatement(statement);
        session.execute(boundStatement.bind(id, name, city));
    }
    
  • Použijte dotaz pro získání informací o všech uživatelích.

    public void selectAllUsers() {
        final String query = "SELECT * FROM uprofile.user";
        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"));
        }
    }
    
  • Použijte dotaz pro získání informací o jednom uživateli.

    public void selectUser(int id) {
        final String query = "SELECT * FROM uprofile.user 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í.

  1. V účtu služby Azure Cosmos DB v Azure Portal vyberte Připojovací řetězec.

    Zobrazení a zkopírování uživatelského jména z webu Azure Portal, stránka Připojovací řetězec

  2. Pomocí tlačítka na pravé straně obrazovky zkopírujte hodnotu KONTAKTNÍ BOD.

  3. Otevřete soubor config.properties ze složky C:\git-samples\azure-cosmosdb-cassandra-java-getting-started\java-examples\src\main\resources .

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

  5. Zpě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-quickstart

  6. Zpě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...==

  7. Pokud chcete na řádku 6 použít konkrétní certifikát TLS/SSL, nahraďte <SSL key store file location> umístěním certifikátu TLS/SSL. Pokud hodnotu nezadáte, použije se certifikát sady JDK nainstalovaný na adrese <JAVA_HOME>/jre/lib/security/cacerts.

  8. Pokud jste řádek 6 změnili tak, aby používal konkrétní certifikát TLS/SSL, aktualizujte řádek 7 tak, aby používal heslo pro tento certifikát.

  9. Uložte soubor config.properties .

Spuštění aplikace v Javě

  1. V okně terminálu Git přejděte pomocí příkazu cd do složky azure-cosmosdb-cassandra-java-getting-started.

    cd "C:\git-samples\azure-cosmosdb-cassandra-java-getting-started"
    
  2. V okně terminálu Git vygenerujte pomocí následujícího příkazu soubor cosmosdb-cassandra-examples.jar.

    mvn clean install
    
  3. V 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.UserProfile
    

    Okno 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 ukončete provádění programu a zavřete okno konzoly.

  4. Na portálu Azure Portal otevřete Data Explorer, abyste se mohli na tato nová data dotazovat, měnit je a pracovat s nimi.

    Zobrazení dat v Data Explorer – Azure Cosmos DB

Ověření smluv SLA na webu Azure Portal

Azure Portal monitoruje propustnost, úložiště, dostupnost, latenci a konzistenci účtu služby Azure Cosmos DB. Grafy metrik přidružených ke smlouvě o úrovni služeb (SLA) služby Azure Cosmos DB zobrazují hodnotu SLA v porovnání se skutečným výkonem. Díky této sadě metrik je monitorování smluv SLA transparentní.

Kontrola metrik a smluv SLA:

  1. V navigační nabídce účtu služby Azure Cosmos DB vyberte Metriky .

  2. Vyberte kartu, například Latence, a na pravé straně vyberte časový rámec. Porovnejte v grafech řádky Actual (Skutečné ) a SLA ( Sla ).

    Sada metrik Azure Cosmos DB

  3. Zkontrolujte metriky na ostatních kartách.

Vyčištění prostředků

Až skončíte s aplikací a účtem Azure Cosmos DB, můžete vytvořené prostředky Azure odstranit, aby se vám neúčtovaly další poplatky. Odstranění prostředků:

  1. Na panelu hledání Azure Portal vyhledejte a vyberte Skupiny prostředků.

  2. V seznamu vyberte skupinu prostředků, kterou jste vytvořili pro účely tohoto rychlého startu.

    Vyberte skupinu prostředků, kterou chcete odstranit.

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

    Odstranění skupiny prostředků

  4. 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 s rozhraním API pro Cassandra a spustit aplikaci Cassandra Java, která vytvoří databázi a kontejner Cassandra. Teď můžete do svého účtu služby Azure Cosmos DB importovat další data.