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 a GitHubról klónozott Cassandra Node.js-alkalmazással létrehoz egy Cassandra-adatbázist és -tárolót. 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

If you don't have an Azure subscription, create an Azure free account before you begin. 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.

  1. Az Azure Portal menüjében vagy a Kezdőlapon válassza az Erőforrás létrehozása elemet.

  2. Az Új lapon keresse meg és válassza ki az Azure Cosmos DB-t.

  3. Az Azure Cosmos DB lapon válassza a Létrehozás lehetőséget.

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

  5. 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 Description
    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 neve
    Vá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.
    Account Name 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.
    Location 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.

    Megjegyzé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.

    The new account page for Azure Cosmos DB for Apache Cassandra

  6. 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 Description
    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.

    Megjegyzé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
  7. 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.
  8. Select Review + create.

  9. 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.

    The Azure portal Notifications pane

  10. 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.

  1. 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"
    
  2. 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"
    
  3. 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
    
  4. 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.

  1. Az Azure PortalOn található Azure Cosmos DB-fiókjában válassza a Csatlakozás ion-sztringet.

  2. A képernyő jobb oldalán található gombbal másolja a felső értéket, a CONTACT POINT értéket.

    Screenshot showing how to view and copy the CONTACT POINT, USERNAME,and PASSWORD from the Connection String page.

  3. Nyissa meg a config.js fájlt.

  4. 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",

  5. Másolja ki az U Standard kiadás RNAME é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',

  6. 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==',

  7. Cserélje le a REGION elemet arra az Azure-régióra, amelyben az erőforrást létrehozta.

  8. Mentse a config.js fájlt.

A Node.js-alkalmazás futtatása

  1. 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
    
  2. A csomópontalkalmazás futtatása:

    npm start
    
  3. Ellenőrizze az eredményt a parancssorban.

    Screenshot shows a Command Prompt window where you can view and verify the output.

    Nyomja le a Ctrl C billentyűkombinációt + a program leállításához és a konzolablak bezárásához.

  4. Ha megnyitja az Adatkezelőt az Azure Portalon, lekérdezheti és módosíthatja és használhatja az új adatokat.

    Screenshot shows the Data Explorer page, where you can view the data.

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:

  1. Válassza a Metrikákat az Azure Cosmos DB-fiók navigációs menüjében.

  2. 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.

    Azure Cosmos DB metrics suite

  3. Tekintse át a metrikákat a többi lapon.

Clean up resources

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:

  1. Az Azure Portal keresősávján keresse meg és válassza ki az erőforráscsoportokat.

  2. A listából válassza ki a rövid útmutatóhoz létrehozott erőforráscsoportot.

    Select the resource group to delete

  3. Az erőforráscsoport Áttekintés lapján válassza az Erőforráscsoport törlése lehetőséget.

    Delete the resource group

  4. 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 cassandra-adatbázist és -tárolót hoz létre. Most már további adatokat importálhat az Azure Cosmos DB-fiókjába.