Rychlý start: Vytvoření aplikace Cassandra s využitím sady Node.js SDK a služby Azure Cosmos DB
PLATÍ PRO: Cassandra
V tomto rychlém startu vytvoříte účet Azure Cosmos DB for Apache Cassandra a použijete k vytvoření databáze a kontejneru Cassandra Node.js aplikaci klonovanou z GitHubu. Azure Cosmos DB je databázová služba s více modely, která umožňuje rychle vytvářet a dotazovat dokumenty, tabulky, klíč-hodnota a grafové databáze s funkcemi globální distribuce a horizontálního škálování.
Požadavky
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete. Alternativně můžete vyzkoušet službu Azure Cosmos DB zdarma bez předplatného Azure, poplatků a závazků.
Kromě toho je potřeba toto:
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 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.
Klonování ukázkové aplikace
Naklonujte rozhraní API pro aplikaci Cassandra z GitHubu, nastavte připojovací řetězec a spusťte ho.
Otevřete okno příkazového řádku. Vytvořte novou složku s názvem
git-samples
. Pak okno zavřete.md "C:\git-samples"
Otevřete okno terminálu Git, například git bash. Pomocí příkazu
cd
př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-nodejs-getting-started.git
Nainstalujte závislosti Node.js pomocí
npm
nástroje .npm install
Kontrola kódu
Tento krok je nepovinný. 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. Všechny fragmenty kódu pocházejí ze souboru uprofile.js
ve složce C:\git-samples\azure-cosmos-db-cassandra-nodejs-getting-started
. V opačném případě přejděte k aktualizaci připojovací řetězec.
Hodnoty uživatelského jména a hesla se nastaví pomocí stránky připojovacího řetězce na webu Azure Portal.
let authProvider = new cassandra.auth.PlainTextAuthProvider( config.username, config.password );
Inicializuje se proměnná
client
s informacemi contactPoint. Hodnota contactPoint se načte z webu Azure Portal.let client = new cassandra.Client({ contactPoints: [`${config.contactPoint}:10350`], authProvider: authProvider, localDataCenter: config.localDataCenter, sslOptions: { secureProtocol: "TLSv1_2_method" }, });
Připojení
client
ke službě Azure Cosmos DB pro Apache Cassandra.client.connect();
Vytvoří se nový prostor klíčů.
var query = `CREATE KEYSPACE IF NOT EXISTS ${config.keySpace} WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter' : '1' }`; await client.execute(query);
Vytvoří se nová tabulka.
query = `CREATE TABLE IF NOT EXISTS ${config.keySpace}.user (user_id int PRIMARY KEY, user_name text, user_bcity text)`; await client.execute(query);
Vloží se entity klíč-hodnota.
const arr = [ `INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (1, 'AdrianaS', 'Seattle')`, `INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (2, 'JiriK', 'Toronto')`, `INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (3, 'IvanH', 'Mumbai')`, `INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (4, 'IvanH', 'Seattle')`, `INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (5, 'IvanaV', 'Belgaum')`, `INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (6, 'LiliyaB', 'Seattle')`, `INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (7, 'JindrichH', 'Buenos Aires')`, `INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (8, 'AdrianaS', 'Seattle')`, `INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (9, 'JozefM', 'Seattle')`, ]; for (const element of arr) { await client.execute(element); }
Spustí se dotaz pro získání všech hodnot klíčů.
query = `SELECT * FROM ${config.keySpace}.user`; const resultSelect = await client.execute(query); for (const row of resultSelect.rows) { console.log( "Obtained row: %d | %s | %s ", row.user_id, row.user_name, row.user_bcity ); }
Spustí se dotaz pro získání páru klíč-hodnota.
query = `SELECT * FROM ${config.keySpace}.user where user_id=1`; const resultSelectWhere = await client.execute(query); for (const row of resultSelectWhere.rows) { console.log( "Obtained row: %d | %s | %s ", row.user_id, row.user_name, row.user_bcity ); }
Ukončete připojení.
client.shutdown();
Aktualizace připojovacího řetězce
Přejděte na web Azure Portal a získejte informace o připojovací řetězec a zkopírujte je do aplikace. Připojovací řetězec umožňuje vaší aplikaci komunikovat s hostovanou databází.
V účtu služby Azure Cosmos DB na webu Azure Portal vyberte Připojovací řetězec.
Pomocí tlačítka na pravé straně obrazovky zkopírujte horní hodnotu KONTAKTNÍ BOD.
Otevřete soubor config.js.
Vložte hodnotu KONTAKTNÍ BOD z portálu na
CONTACT-POINT
řádku 9.Řádek 9 by teď měl vypadat podobně jako tato hodnota:
contactPoint: "cosmos-db-quickstarts.cassandra.cosmosdb.azure.com",
Zkopírujte hodnotu USERNAME z portálu a vložte ji na
<FillMEIN>
řádek 2.Řádek 2 by teď měl vypadat podobně jako tato hodnota:
username: 'cosmos-db-quickstart',
Zkopírujte hodnotu PASSWORD z portálu a vložte ji na
USERNAME
řádek 8.Řádek 8 by teď měl vypadat podobně jako tato hodnota:
password: '2Ggkr662ifxz2Mg==',
Oblast nahraďte oblastí Azure, ve které jste tento prostředek vytvořili.
Uložte soubor config.js.
Spuštění aplikace Node.js
V okně terminálu Bash se ujistěte, že jste v ukázkovém adresáři, který jste naklonovali dříve:
cd azure-cosmos-db-cassandra-nodejs-getting-started
Spusťte aplikaci uzlu:
npm start
Na příkazovém řádku zkontrolujte očekávané výsledky.
Stisknutím kláves Ctrl+C zastavte program 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
Azure Portal monitoruje propustnost, úložiště, dostupnost, latenci a konzistenci účtu Služby Azure Cosmos DB. Grafy pro metriky přidružené ke smlouvě SLA (Service Level Agreement) služby Azure Cosmos DB zobrazují hodnotu SLA v porovnání se skutečným výkonem. Tato sada metrik zajišťuje transparentní monitorování smluv SLA.
Kontrola metrik a smluv SLA:
V navigační nabídce účtu služby Azure Cosmos DB vyberte Metriky .
Vyberte kartu, například Latence, a vpravo vyberte časový rámec. Porovnejte skutečné čáry a čáry SLA v grafech.
Zkontrolujte metriky na dalších kartách.
Vyčištění prostředků
Až budete s aplikací a účtem služby Azure Cosmos DB hotovi, můžete odstranit vytvořené prostředky Azure, takže se vám nebudou účtovat další poplatky. Odstranění prostředků:
Na panelu hledání na webu Azure Portal vyhledejte a vyberte skupiny prostředků.
V seznamu vyberte skupinu prostředků, kterou jste vytvořili pro účely tohoto rychlého startu.
Na stránce Přehled skupiny prostředků vyberte Odstranit skupinu prostředků.
V dalším okně zadejte název skupiny prostředků, která se má odstranit, a pak vyberte Odstranit.
Další kroky
V tomto rychlém startu jste zjistili, jak vytvořit účet služby Azure Cosmos DB s rozhraním API pro Cassandra a spustit aplikaci Cassandra Node.js, která vytvoří databázi a kontejner Cassandra. Do účtu služby Azure Cosmos DB teď můžete importovat další data.