Gyorsútmutató: Cassandra-alkalmazás létrehozása a Python 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 Python-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, amellyel gyorsan hozhat létre és kérdezhet le dokumentum-, tábla-, kulcs-érték- és gráfadatbázisokat globális terjesztési és horizontális skálázási képességekkel.

Előfeltételek

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. A Azure Portal menüben vagy a Kezdőlapon válassza az Erőforrás létrehozása lehetőséget.

  2. Az Új lapon keresse meg és válassza az Azure Cosmos DB lehetőséget.

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

  4. 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óknév
    Válassza az Új létrehozása lehetőséget. Ezután adjon meg egy új erőforráscsoport-nevet a fiókjához. Az egyszerűség kedvéért használja ugyanazt a nevet, mint az Azure Cosmos DB-fiók nevét.
    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.
    API Cassandra 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-járól.
    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özelebbi helyet, hogy a lehető leggyorsabb hozzáférést biztosítsa számukra az adatokhoz.
    Kapacitásmód Kiosztott átviteli sebesség vagy kiszolgáló nélküli A Kiosztott átviteli sebesség lehetőséget választva hozzon létre egy fiókot kiépített átviteli módban. A Kiszolgáló nélküli lehetőséget választva hozzon létre egy fiókot kiszolgáló nélküli módban.
    Ingyenes Azure Cosmos DB-kedvezmény alkalmazása Alkalmazás vagy Nem alkalmazható Az Ingyenes Azure Cosmos DB-szinttel az első 1000 RU/s- és 25 GB tárterületet kapja ingyenesen egy fiókban. További információ az ingyenes szintről.

    Megjegyzés

    Azure-előfizetésenként legfeljebb egy ingyenes szintű Azure Cosmos DB-fiókkal rendelkezhet, és a fiók létrehozásakor be kell jelentkeznie. Ha nem látja az ingyenes szint kedvezményének alkalmazását, az azt jelenti, hogy az előfizetés egy másik fiókja már engedélyezve van az ingyenes szinttel.

    Az Apache Cassandra-hoz készült Azure Cosmos DB új fiókoldala

  5. A Globális terjesztés lapon konfigurálja az alábbi adatokat. Az alapértelmezett értékeket a következő rövid útmutató céljára hagyhatja:

    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 a régió párosításával egy párrégióval. Később további régiókat is felvehet a fiókjába.
    Többrégiós írók Letiltás A többrégiós írási képesség lehetővé teszi, hogy kihasználja a kiosztott átviteli sebességet az adatbázisok és tárolók számára világszerte.

    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:

    • Az ingyenes szint árengedményének alkalmazása
    • Georedundancia
    • Többrégiós írók
  6. A további részleteket a következő lapon is konfigurálhatja:

    • Hálózatkezelés – Virtuális hálózatról való hozzáférés konfigurálása.
    • Biztonsági mentési szabályzat – Konfigurálja az időszakos vagy folyamatos biztonsági mentési szabályzatot.
    • Titkosítás – Használjon szolgáltatás által felügyelt kulcsot vagy ügyfél által felügyelt kulcsot.
    • 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 a konszolidált számlázás megtekintését azáltal, hogy ugyanazt a címkét több erőforrásra és erőforráscsoportra alkalmazza.
  7. Válassza az Áttekintés + létrehozás lehetőséget.

  8. Tekintse át a fiókbeállításokat, 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, amíg a portállapon megjelenik az Üzembe helyezés befejeződött.

    Az Azure Portal Értesítések panelje

  9. Válassza az Erőforrás megnyitása lehetőséget az Azure Cosmos DB-fiók lapjának megtekintéséhez.

A mintaalkalmazás klónozása

Most klónozza a Cassandra-alkalmazás API-ját a GitHubról, állítsa be a kapcsolati sztring, és futtassa. Ilyen egyszerű az adatokkal programozott módon dolgozni.

  1. Nyisson meg egy parancssort. Hozzon létre egy git-samples nevű mappát. Ezután zárja be a parancssort.

    md "C:\git-samples"
    
  2. Nyisson meg egy git terminálablakot, például a git bash eszközt, és a cd parancs használatával váltson az új mappára, ahol telepíteni szeretné a mintaalkalmazást.

    cd "C:\git-samples"
    
  3. Futtassa a következő parancsot a mintatárház klónozásához. 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-python-getting-started.git
    

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 pyquickstart.py fájlból származnak. Egyéb esetben ugorhat A kapcsolati sztring frissítése szakaszra.

  • A cluster inicializálása contactPoint és port a Azure Portal lekérhető információk. Ezután cluster a metódussal connect() csatlakozik az Apache Cassandra-hoz készült Azure Cosmos DB-hez. Ha a konfigurációs fájlban megad egyet, a felhasználónév, a jelszó és az alapértelmezett tanúsítvány vagy egy explicit tanúsítvány használatával létrejön egy engedélyezett kapcsolat.

    ssl_context = SSLContext(PROTOCOL_TLSv1_2)
    ssl_context.verify_mode = CERT_NONE
    auth_provider = PlainTextAuthProvider(username=cfg.config['username'], password=cfg.config['password'])
    cluster = Cluster([cfg.config['contactPoint']], port = cfg.config['port'], auth_provider=auth_provider,ssl_context=ssl_context)
    session = cluster.connect()
    
  • A rendszer létrehoz egy új kulcsteret.

    print ("\nCreating Keyspace")
    execute_command('CREATE KEYSPACE IF NOT EXISTS uprofile WITH replication = {\'class\': \'NetworkTopologyStrategy\', \'datacenter\' : \'1\' }');
    
  • Létrejön egy új tábla.

    print ("\nCreating Table")
    execute_command('CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)');
    
  • A rendszer beszúrja a kulcs/érték entitásokat.

    execute_command("INSERT INTO  uprofile.user  (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [1,'Lybkov','Seattle'])
    execute_command("INSERT INTO  uprofile.user  (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [2,'Doniv','Dubai'])
    execute_command("INSERT INTO  uprofile.user  (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [3,'Keviv','Chennai'])
    execute_command("INSERT INTO  uprofile.user  (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [4,'Ehtevs','Pune'])
    execute_command("INSERT INTO  uprofile.user  (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [5,'Dnivog','Belgaum'])
    execute_command("INSERT INTO  uprofile.user  (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [6,'Ateegk','Narewadi'])
    execute_command("INSERT INTO  uprofile.user  (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [7,'KannabbuS','Yamkanmardi'])
    execute_command("INSERT INTO  uprofile.user  (user_id, user_name , user_bcity) VALUES (%s,%s,%s)", [8,'Jonas','Atlanta'])
    
  • Lekérdezés az összes kulcsérték lekéréséhez.

    print ("\nSelecting All")
    rows = session.execute('SELECT * FROM uprofile.user')
    PrintTable(rows)
    
  • Lekérdezés a kulcs-érték lekéréséhez.

    print ("\nSelecting Id=1")
    rows = session.execute('SELECT * FROM uprofile.user where user_id=1')
    PrintTable(rows)
    

A kapcsolati sztring frissítése

Lépjen vissza az Azure Portalra a kapcsolati sztring adataiért, majd másolja be azokat az alkalmazásba. A kapcsolati sztring lehetővé teszi az alkalmazás számára, hogy kommunikáljon az üzemeltetett adatbázissal.

  1. A Azure Portal Azure Cosmos DB-fiókjában válassza a Kapcsolati sztring lehetőséget.

  2. A felső érték, a CONTACT POINT másolásához használja a képernyő jobb oldalán található gombot.

    Hozzáférési felhasználónév, jelszó és kapcsolódási pont megtekintése és másolása az Azure Portal kapcsolati sztring paneljén

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

  4. Illessze be a CONTACT POINT értéket a portálról a <FILLME> helyére a 10. sorban.

    A 10. sornak ekkor a következőképp kell kinéznie:

    'contactPoint': 'cosmos-db-quickstarts.cassandra.cosmosdb.azure.com:10350'

  5. Másolja a USERNAME értéket a portálról, és illessze be a <FILLME> helyére a 6. sorban.

    A 6. sornak ekkor a következőképp kell kinéznie:

    'username': 'cosmos-db-quickstart',

  6. Másolja a PASSWORD értéket a portálról, és illessze be a <FILLME> helyére a 8. sorban.

    A 8. sornak ekkor a következőképp kell kinéznie:

    'password' = '2Ggkr662ifxz2Mg==';`

  7. Mentse a config.py fájlt.

Az X509-tanúsítvány használata

  1. Másolja a Baltimore CyberTrust főtanúsítvány-adatait https://www.digicert.com/kb/digicert-root-certificates.htm egy szövegfájlba. Mentse a fájlt a .cer fájlkiterjesztéssel.

    A tanúsítvány sorozatszáma 02:00:00:b9, az SHA1 ujjlenyomata pedig d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74.

  2. Nyissa meg pyquickstart.py , és módosítsa úgy, path\to\cert hogy az az új tanúsítványra mutasson.

  3. Mentse pyquickstart.py.

A Python-alkalmazás futtatása

  1. A cd paranccsal a git terminálon váltson az azure-cosmos-db-cassandra-python-getting-started mappára.

  2. Futtassa az alábbi parancsokat a szükséges modulok telepítéséhez:

    python -m pip install cassandra-driver==3.20.2
    python -m pip install prettytable
    python -m pip install requests
    python -m pip install pyopenssl
    

    Megjegyzés

    A Python-illesztő 3.20.2-es verzióját javasoljuk a Cassandra API-val való használathoz. A magasabb verziók hibákat okozhatnak.

  3. Futtassa a következő parancsot a Python-alkalmazás elindításához:

    python pyquickstart.py
    
  4. Ellenőrizze az eredményt a parancssorban.

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

    A kimenet megtekintése és ellenőrzése

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

    Adatok megtekintése az Adatkezelőben

Tekintse át az SLA-kat az Azure Portalon

A Azure Portal figyeli az Azure Cosmos DB-fiók átviteli sebességét, tárterületé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éket jelenítik meg a tényleges teljesítményhez képest. Ez a metrikacsomag átláthatóvá teszi az SLA-k monitorozását.

Metrikák és SLA-k áttekintése:

  1. Az Azure Cosmos DB-fiók navigációs menüjében válassza a Metrikák lehetőséget.

  2. Válasszon egy lapot( például Késés), és válasszon ki egy időkeretet a jobb oldalon. Hasonlítsa össze a diagramok Tényleges és SLA vonalait.

    Azure Cosmos DB-metrikák

  3. 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, így nem kell további díjakat fizetnie. Az erőforrások törlése:

  1. A Azure Portal Keresősávon keresse meg és válassza az Erőforráscsoportok lehetőséget.

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

    Válassza ki a törölni kívánt erőforráscsoportot

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

    Az erőforráscsoport törlése

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