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
- Egy Azure-fiók, aktív előfizetéssel. Hozzon létre egyet ingyen. Vagy ingyenesen kipróbálhatja az Azure Cosmos DB-t Azure-előfizetés nélkül.
- Python 3.7+.
- Git.
- Python-illesztőprogram az Apache Cassandra-hoz.
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.
A Azure Portal menüben vagy a Kezdőlapon válassza az Erőforrás létrehozása lehetőséget.
Az Új lapon keresse meg és válassza az Azure Cosmos DB lehetőséget.
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.
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évVá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.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. Fiók teljes átviteli sebességének korlátozása Válassza ki a fiók átviteli sebességének korlátozását 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 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.
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. Rendelkezésre állási zónák Letiltás Availability Zones 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:
- Az ingyenes szint árengedményének alkalmazása
- Georedundancia
- Többrégiós írók
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.
Válassza az Áttekintés + létrehozás lehetőséget.
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.
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. Láthatja, milyen egyszerű programozott módon dolgozni az adatokkal.
Nyisson meg egy parancssort. Hozzon létre egy
git-samples
nevű mappát. Ezután zárja be a parancssort.md "C:\git-samples"
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"
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ásacontactPoint
ésport
a Azure Portal lekért információk. Ezutáncluster
a metódussalconnect()
csatlakozik az Apache Cassandra-hoz készült Azure Cosmos DB-hez. Az engedélyezett kapcsolat 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 jön létre, ha a konfigurációs fájlban megad egyet.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.
A Azure Portal lévő 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 ki a felső értéket, a KAPCSOLATI PONTOT.
Nyissa meg a config.py fájlt.
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'
Illessze be a PORT értéket a portálról
<FILLME>
a 12. sorban.A 12. sornak most a következőhöz hasonlóan kell kinéznie:
'port': 10350,
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',
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==
';`Mentse a config.py fájlt.
A Python-alkalmazás futtatása
A cd paranccsal a git terminálon váltson az
azure-cosmos-db-cassandra-python-getting-started
mappára.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őprogram 3.20.2-es verzióját javasoljuk a Cassandra API-hoz való használatához. A magasabb verziók hibákat okozhatnak.
Futtassa a következő parancsot a Python-alkalmazás elindításához:
python pyquickstart.py
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.
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
A 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:
Az Azure Cosmos DB-fiók navigációs menüjében válassza a Metrikák lehetőséget.
Válasszon ki egy lapot, például a Késés lapot, és válasszon ki 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, így nem kell további díjakat fizetnie. Az erőforrások törlése:
A Azure Portal Keresősávon keresse meg és válassza ki az Erőforráscsoportok elemet.
A listában 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 Python-alkalmazást, amely létrehoz egy Cassandra-adatbázist és -tárolót. Most már importálhat más adatokat az Azure Cosmos DB-fiókjába.