Gyorsútmutató: Cassandra-alkalmazás létrehozása a Node.js SDK és az Azure Cosmos DB használatával
A KÖVETKEZŐKRE VONATKOZIK: Cassandra
Ebben a rövid útmutatóban létrehoz egy Azure Cosmos DB-t apache Cassandra-fiókhoz, és egy GitHubról klónozott Cassandra Node.js-alkalmazást használ egy Cassandra-adatbázis és -tároló létrehozásához. Az Azure Cosmos DB egy többmodelles adatbázis-szolgáltatás, amely lehetővé teszi dokumentum-, tábla-, kulcs-érték- és gráfadatbázisok gyors létrehozását és lekérdezését globális terjesztési és horizontális méretezési képességekkel.
Előfeltételek
Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot. Alternatív lehetőségként kipróbálhatja ingyenesen az Azure Cosmos DB-t Azure-előfizetés, díjfizetés és elköteleződés nélkül.
Emellett szüksége lesz a következőkre:
Adatbázisfiók létrehozása
A dokumentum-adatbázis létrehozásához először létre kell hoznia egy Cassandra-fiókot az Azure Cosmos DB segítségével.
Az Azure Portal menüjében vagy a Kezdőlapon válassza az Erőforrás létrehozása elemet.
Az Új lapon keresse meg és válassza ki az Azure Cosmos DB-t.
Az Azure Cosmos DB lapon válassza a Létrehozás lehetőséget.
Az API-lapon válassza a Létrehozás lehetőséget a Cassandra szakaszban.
A létrehozni kívánt fiók típusát az API határozza meg. Az Azure Cosmos DB öt API-t biztosít: a NoSQL-t a dokumentum-adatbázisokhoz, a Gremlint a gráfadatbázisokhoz, a MongoDB-t a dokumentum-adatbázisokhoz, az Azure Tableet és a Cassandrát. Minden API-hoz külön fiókot kell létrehoznia.
Válassza a Cassandra lehetőséget, mert ebben a rövid útmutatóban egy olyan táblát hoz létre, amely a Cassandra API-val működik.
További információ a Cassandra API-ról.
Az Azure Cosmos DB-fiók létrehozása lapon adja meg az új Azure Cosmos DB-fiók alapbeállításait.
Beállítás Érték Leírás Előfizetés Az Ön előfizetése Válassza ki az Azure Cosmos DB-fiókhoz használni kívánt Azure-előfizetést. Erőforráscsoport Új létrehozása
Ezután adja meg ugyanazt a nevet, mint a fiók neveVálassza az Új létrehozása lehetőséget. Ezután adjon meg egy új erőforráscsoportnevet a fiókjához. Az egyszerűség kedvéért használja ugyanazt a nevet, mint az Azure Cosmos DB-fiók neve. Fiók neve Adjon meg egy egyedi nevet Adjon meg egy egyedi nevet az Azure Cosmos DB-fiók azonosításához. A fiók URI-ja cassandra.cosmos.azure.com hozzá lesz fűzve az egyedi fiók nevéhez.
A fióknév csak kisbetűket, számokat és kötőjeleket (-) használhat, és 3 és 31 karakter közötti hosszúságúnak kell lennie.Hely A felhasználókhoz legközelebb eső régió Válassza ki az Azure Cosmos DB-fiókot üzemeltetéséhez használni kívánt földrajzi helyet. Használja a felhasználókhoz legközelebb lévő helyet, hogy a lehető leggyorsabb hozzáférést biztosítsa az adatokhoz. Kapacitásmód Kiosztott átviteli sebesség vagy kiszolgáló nélküli A kiosztott átviteli sebesség kiválasztásával hozzon létre egy fiókot kiosztott átviteli módban. A Kiszolgáló nélküli lehetőséget választva kiszolgáló nélküli módban hozhat létre fiókot. Ingyenes Azure Cosmos DB-kedvezmény alkalmazása Alkalmazás vagy nem alkalmazható Az Ingyenes Azure Cosmos DB-csomaggal az első 1000 RU/s-t és 25 GB tárterületet kap ingyenesen egy fiókban. További információk az ingyenes szintről. A fiók teljes átviteli sebességének korlátozása Válassza ki a fiók átviteli sebességének korlátozásához Ez akkor hasznos, ha a fiók teljes átviteli sebességét egy adott értékre szeretné korlátozni. Feljegyzés
Azure-előfizetésenként egy ingyenes szintű Azure Cosmos DB-fiókkal rendelkezhet, és a fiók létrehozásakor kell feliratkoznia. Ha nem látja az ingyenes szintű kedvezmény alkalmazására vonatkozó lehetőséget, az azt jelenti, hogy az előfizetés egy másik fiókján már engedélyezve van az ingyenes szint.
A Globális terjesztés lapon konfigurálja az alábbi adatokat. A rövid útmutatóban az alapértelmezett értékeket meghagyhatja:
Beállítás Érték Leírás Georedundancia Letiltás Engedélyezze vagy tiltsa le a globális terjesztést a fiókjában, ha párosítja a régiót egy párrégióval. Később további régiókat is hozzáadhat a fiókjához. Többrégiós írások Letiltás A többrégiós írási képesség lehetővé teszi, hogy kihasználja az adatbázisok és tárolók kiosztott átviteli sebességét világszerte. Rendelkezésre állási zónák Letiltás A rendelkezésre állási zónák egy Azure-régióban elkülönített helyek. Minden rendelkezésreállási zóna egy vagy több, független áramforrással, hűtéssel és hálózatkezelési megoldással ellátott adatközpontból áll. Feljegyzés
A következő beállítások nem érhetők el, ha a Kiszolgáló nélküli lehetőséget választja kapacitás módként:
- Ingyenes szintű kedvezmény alkalmazása
- Georedundancia
- Többrégiós írások
Igény szerint további részleteket is konfigurálhat a következő lapokban:
- Hálózatkezelés – Hozzáférés konfigurálása virtuális hálózatról.
- Biztonsági mentési szabályzat – Konfigurálja az időszakos vagy folyamatos biztonsági mentési szabályzatot.
- Titkosítás – Szolgáltatás által felügyelt vagy ügyfél által felügyelt kulcs használata.
- Címkék – A címkék név-érték párok, amelyek lehetővé teszik az erőforrások kategorizálását és az összevont számlázás megtekintését úgy, hogy ugyanazt a címkét több erőforrásra és erőforráscsoportra alkalmazza.
Válassza az Áttekintés + létrehozás lehetőséget.
Ellenőrizze a fiók beállításait, majd válassza a Létrehozás lehetőséget. A fiók létrehozása néhány percet vesz igénybe. Várja meg, hogy a portálon megjelenjen Az üzembe helyezés befejeződött üzenet.
Válassza az Ugrás az erőforrásra lehetőséget, és lépjen az Azure Cosmos DB-fiók oldalára.
A mintaalkalmazás klónozása
Klónozza a Cassandra-alkalmazás API-ját a GitHubról, állítsa be a kapcsolati sztring, és futtassa.
Nyissa meg a parancssori ablakot. Hozzon létre egy
git-samples
nevű mappát. Ezután zárja be az ablakot.md "C:\git-samples"
Nyisson meg egy git-terminálablakot, például a git basht. A
cd
parancs használatával váltson az új mappára, ahol telepíteni szeretné a mintaalkalmazást.cd "C:\git-samples"
Az alábbi parancs futtatásával klónozhatja a mintatárházat. Ez a parancs másolatot hoz létre a mintaalkalmazásról az Ön számítógépén.
git clone https://github.com/Azure-Samples/azure-cosmos-db-cassandra-nodejs-getting-started.git
Telepítse a Node.js függőségeket a következővel
npm
: .npm install
A kód áttekintése
Ez a lépés nem kötelező. Ha meg szeretné ismerni, hogyan hozza létre a kód az adatbázis erőforrásait, tekintse át a következő kódrészleteket. A kódrészletek mind a uprofile.js
fájlból származnak, amely a C:\git-samples\azure-cosmos-db-cassandra-nodejs-getting-started
mappában található. Ellenkező esetben ugorjon előre a kapcsolati sztring frissítéséhez.
A felhasználónév és a jelszó értékei a kapcsolati sztring oldalán állíthatók be az Azure Portalon.
let authProvider = new cassandra.auth.PlainTextAuthProvider( config.username, config.password );
A
client
inicializálása contactPoint adataival történik. A contactPoint az Azure Portalról kérhető le.let client = new cassandra.Client({ contactPoints: [`${config.contactPoint}:10350`], authProvider: authProvider, localDataCenter: config.localDataCenter, sslOptions: { secureProtocol: "TLSv1_2_method" }, });
Az
client
Apache Cassandra azure Cosmos DB-hez való kapcsolódása.client.connect();
A rendszer létrehoz egy új kulcsteret.
var query = `CREATE KEYSPACE IF NOT EXISTS ${config.keySpace} WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter' : '1' }`; await client.execute(query);
Létrejön egy új tábla.
query = `CREATE TABLE IF NOT EXISTS ${config.keySpace}.user (user_id int PRIMARY KEY, user_name text, user_bcity text)`; await client.execute(query);
A rendszer beszúrja a kulcs/érték entitásokat.
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); }
Lekérdezés az összes kulcsérték lekéréséhez.
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 ); }
Lekérdezés a kulcs-érték lekéréséhez.
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 ); }
Zárja be a kapcsolatot.
client.shutdown();
A kapcsolati sztring frissítése
Lépjen az Azure Portalra a kapcsolati sztring adatainak lekéréséhez és az alkalmazásba való másolásához. A kapcsolati sztring lehetővé teszi az alkalmazás számára, hogy kommunikáljon az üzemeltetett adatbázissal.
Az Azure Portal Azure Cosmos DB-fiókjában válassza a Kapcsolati sztring lehetőséget.
A képernyő jobb oldalán található gombbal másolja a felső értéket, a CONTACT POINT értéket.
Nyissa meg a config.js fájlt.
Illessze be a CONTACT POINT értéket a portálról
CONTACT-POINT
a 9. sorban.A 9. sornak most ehhez az értékhez hasonlóan kell kinéznie:
contactPoint: "cosmos-db-quickstarts.cassandra.cosmosdb.azure.com",
Másolja ki a FELHASZNÁLÓNÉV értéket a portálról, és illessze be
<FillMEIN>
a 2. sorba.A 2. sornak most ehhez az értékhez hasonlóan kell kinéznie:
username: 'cosmos-db-quickstart',
Másolja ki a JELSZÓ értéket a portálról, és illessze be
USERNAME
a 8. sorba.A 8. sornak most az alábbihoz hasonlóan kell kinéznie:
password: '2Ggkr662ifxz2Mg==',
Cserélje le a REGION elemet arra az Azure-régióra, amelyben az erőforrást létrehozta.
Mentse a config.js fájlt.
A Node.js-alkalmazás futtatása
A bash terminálablakban győződjön meg arról, hogy a korábban klónozott mintakönyvtárban van:
cd azure-cosmos-db-cassandra-nodejs-getting-started
A csomópontalkalmazás futtatása:
npm start
Ellenőrizze az eredményt a parancssorban.
Nyomja le a Ctrl C billentyűkombinációt + a program leállításához és a konzolablak bezárásához.
Ha megnyitja az Adatkezelőt az Azure Portalon, lekérdezheti és módosíthatja és használhatja az új adatokat.
Tekintse át az SLA-kat az Azure Portalon
Az Azure Portal figyeli az Azure Cosmos DB-fiók átviteli sebességét, tárhelyét, rendelkezésre állását, késését és konzisztenciáját. Az Azure Cosmos DB szolgáltatásiszint-szerződéshez (SLA) társított metrikák diagramjai az SLA értékét jelenítik meg a tényleges teljesítményhez képest. Ez a metrikákból álló csomag átláthatóvá teszi az SLA-k monitorozását.
Metrikák és SLA-k áttekintése:
Válassza a Metrikákat az Azure Cosmos DB-fiók navigációs menüjében.
Válasszon egy lapot, például a Késés lapot, és válasszon egy időkeretet a jobb oldalon. Hasonlítsa össze a diagramok Tényleges és SLA sorait.
Tekintse át a metrikákat a többi lapon.
Az erőforrások eltávolítása
Ha végzett az alkalmazással és az Azure Cosmos DB-fiókkal, törölheti a létrehozott Azure-erőforrásokat, hogy ne járjon további költségekkel. Az erőforrások törlése:
Az Azure Portal keresősávján keresse meg és válassza ki az erőforráscsoportokat.
A listából válassza ki a rövid útmutatóhoz létrehozott erőforráscsoportot.
Az erőforráscsoport Áttekintés lapján válassza az Erőforráscsoport törlése lehetőséget.
A következő ablakban adja meg a törölni kívánt erőforráscsoport nevét, majd válassza a Törlés lehetőséget.
Következő lépések
Ebben a rövid útmutatóban megtanulta, hogyan hozhat létre Azure Cosmos DB-fiókot a Cassandra API-val, és hogyan futtathat egy Cassandra-Node.js alkalmazást, amely létrehoz egy Cassandra-adatbázist és -tárolót. Most már további adatokat importálhat az Azure Cosmos DB-fiókjába.