Megosztás a következőn keresztül:


Oktatóanyag: Api létrehozása Cassandra-fiókhoz az Azure Cosmos DB-ben egy Java-alkalmazással kulcs-/értékadatok tárolására

A KÖVETKEZŐKRE VONATKOZIK: Cassandra

Fejlesztőként előfordulhat, hogy kulcs-érték párokat használó alkalmazásokkal rendelkezik. Az Azure Cosmos DB-ben a Cassandra-fiók api-jának használatával tárolhatja a kulcs-/értékadatokat. Ez az oktatóanyag bemutatja, hogyan hozhat létre API-t Cassandra-fiókhoz Java-alkalmazásokkal az Azure Cosmos DB-ben, hogyan adhat hozzá egy adatbázist (más néven kulcsteret), és hogyan adhat hozzá táblát. A Java-alkalmazás a Java-illesztőprogram használatával hoz létre egy olyan felhasználói adatbázist, amely olyan adatokat tartalmaz, mint a felhasználói azonosító, a felhasználónév és a felhasználó városa.

Ez az oktatóanyag a következő feladatokat mutatja be:

  • Cassandra-adatbázisfiók létrehozása
  • A fiók kapcsolati sztringjének lekérése
  • Maven-projekt és függőségek létrehozása
  • Egy adatbázis és egy tábla hozzáadása
  • Az alkalmazás futtatása

Előfeltételek

Adatbázisfiók létrehozása

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

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

  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 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
  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. Válassza az Áttekintés + létrehozás lehetőséget.

  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.

    Az Azure Portal Értesítések panelje

  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 fiók kapcsolati adatainak lekérése

Kérje le a kapcsolati sztring adatokat az Azure Portalról, és másolja a Java konfigurációs fájlba. A kapcsolati sztring lehetővé teszi az alkalmazás számára, hogy kommunikáljon az üzemeltetett adatbázissal.

  1. Az Azure Portalon nyissa meg az Azure Cosmos DB-fiókját.

  2. Nyissa meg a Kapcsolati sztring panelt.

  3. Másolja ki a CONTACT POINT, PORT, USERNAME és PRIMARY PASSWORD értékeket, amelyekre a következő lépések során lesz szüksége.

A projekt és a függőségek létrehozása

A cikkben használt Java-mintaprojekt a GitHubon található. Futtathatja a dokumentum lépéseit, vagy letöltheti a mintát az azure-cosmos-db-cassandra-java-getting-started adattárból.

A fájlok letöltése után frissítse a fájlon belüli java-examples\src\main\resources\config.properties kapcsolati sztring adatokat, és futtassa.

cassandra_host=<FILLME_with_CONTACT POINT> 
cassandra_port = 10350 
cassandra_username=<FILLME_with_USERNAME> 
cassandra_password=<FILLME_with_PRIMARY PASSWORD> 

A minta az alapoktól való összeállításához kövesse az alábbi lépéseket:

  1. A terminálból vagy parancssorból hozzon létre egy Cassandra-demo nevű új Maven-projektet.

    mvn archetype:generate -DgroupId=com.azure.cosmosdb.cassandra -DartifactId=cassandra-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 
    
  2. Keresse meg a cassandra-demo mappát. Egy szövegszerkesztővel nyissa meg a létrejött pom.xml fájlt.

    Adja hozzá a projekt által igényelt Cassandra-függőségeket és beépülő modulokat, ahogyan az pom.xml fájlban látható.

  3. A cassandra-demo\src\main mappában hozzon létre egy új mappát resources néven. Az erőforrások mappájában adja hozzá a config.properties és log4j.properties fájlokat:

    • A config.properties fájl tárolja a Cassandra-fiókHOZ tartozó API kapcsolati végpontját és kulcsértékét.

    • A log4j.properties fájl határozza meg a Cassandra API-val való interakcióhoz szükséges naplózás szintjét.

  4. Keresse meg a src/main/java/com/azure/cosmosdb/cassandra/ mappát. A cassandra mappán belül hozzon létre egy másik mappát utils néven. Az új mappa tárolja a Cassandra-fiók API-hoz való csatlakozáshoz szükséges segédprogramosztályokat.

    Adja hozzá a CassandraUtils osztályt a fürt létrehozásához és a Cassandra-munkamenetek megnyitásához és bezárásához. A fürt az Azure Cosmos DB Cassandra-fiókjához tartozó API-hoz csatlakozik, és egy munkamenetet ad vissza a hozzáféréshez. Használja a Configurations osztályt a kapcsolati sztring adatainak olvasásához a config.properties fájlból.

  5. A Java-minta létrehoz egy adatbázist felhasználói adatokkal, például felhasználónévvel, felhasználói azonosítóval és felhasználói várossal. Meg kell adnia a get és set metódusokat a fő függvényben található felhasználói adatok eléréséhez.

    Hozzon létre egy User.java osztályt a mappa alatt a src/main/java/com/azure/cosmosdb/cassandra/ beolvasási és beállítási módszerekkel.

Egy adatbázis és egy tábla hozzáadása

Ez a szakasz azt ismerteti, hogyan vehet fel adatbázist (kulcsteret) és táblát a CQL használatával.

  1. A src\main\java\com\azure\cosmosdb\cassandra mappában hozzon létre egy új mappát repository néven.

  2. Hozza létre a UserRepository Java-osztályt, és adja hozzá a következő kódot:

    package com.azure.cosmosdb.cassandra.repository; 
    import java.util.List; 
    import com.datastax.driver.core.BoundStatement; 
    import com.datastax.driver.core.PreparedStatement; 
    import com.datastax.driver.core.Row; 
    import com.datastax.driver.core.Session; 
    import org.slf4j.Logger; 
    import org.slf4j.LoggerFactory; 
    
    /** 
     * Create a Cassandra session 
     */ 
    public class UserRepository { 
    
        private static final Logger LOGGER = LoggerFactory.getLogger(UserRepository.class); 
        private Session session; 
        public UserRepository(Session session) { 
            this.session = session; 
        } 
    
        /** 
        * Create keyspace uprofile in cassandra DB 
         */ 
    
        public void createKeyspace() { 
             final String query = "CREATE KEYSPACE IF NOT EXISTS uprofile WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 }"; 
            session.execute(query); 
            LOGGER.info("Created keyspace 'uprofile'"); 
        } 
    
        /** 
         * Create user table in cassandra DB 
         */ 
    
        public void createTable() { 
            final String query = "CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)"; 
            session.execute(query); 
            LOGGER.info("Created table 'user'"); 
        } 
    } 
    
  3. Lépjen az src\main\java\com\azure\cosmosdb\cassandra mappába, és hozzon létre egy új almappát examples néven.

  4. Hozza létre a UserProfile Java-osztályt. Ez az osztály tartalmazza a fő metódust, amely meghívja a korábban definiált createKeyspace és createTable metódusokat:

    package com.azure.cosmosdb.cassandra.examples; 
    import java.io.IOException; 
    import com.azure.cosmosdb.cassandra.repository.UserRepository; 
    import com.azure.cosmosdb.cassandra.util.CassandraUtils; 
    import com.datastax.driver.core.PreparedStatement; 
    import com.datastax.driver.core.Session; 
    import org.slf4j.Logger; 
    import org.slf4j.LoggerFactory; 
    
    /** 
     * Example class which will demonstrate following operations on Cassandra Database on CosmosDB 
     * - Create Keyspace 
     * - Create Table 
     * - Insert Rows 
     * - Select all data from a table 
     * - Select a row from a table 
     */ 
    
    public class UserProfile { 
    
        private static final Logger LOGGER = LoggerFactory.getLogger(UserProfile.class); 
        public static void main(String[] s) throws Exception { 
            CassandraUtils utils = new CassandraUtils(); 
            Session cassandraSession = utils.getSession(); 
    
            try { 
                UserRepository repository = new UserRepository(cassandraSession); 
                //Create keyspace in cassandra database 
                repository.createKeyspace(); 
                //Create table in cassandra database 
                repository.createTable(); 
    
            } finally { 
                utils.close(); 
                LOGGER.info("Please delete your table after verifying the presence of the data in portal or from CQL"); 
            } 
        } 
    } 
    

Az alkalmazás futtatása

  1. Nyisson meg egy parancssort vagy terminálablakot. Illessze be az alábbi kódblokkot.

    Ez a kód a könyvtárat (cd) arra a mappaútvonalra módosítja, ahol a projektet létrehozta. Ezután futtatja az mvn clean install parancsot a cosmosdb-cassandra-examples.jar fájl célmappán belüli létrehozásához. Végül futtatja a Java-alkalmazást.

    cd cassandra-demo
    
    mvn clean install 
    
    java -cp target/cosmosdb-cassandra-examples.jar com.azure.cosmosdb.cassandra.examples.UserProfile 
    

    A terminálablak értesítéseket jelenít meg a kulcstér és a tábla létrehozásáról.

  2. Most nyissa meg az Azure Portalon az Adatkezelőt, és ellenőrizze, hogy a kulcstér és a tábla létrejött-e.

Következő lépések

Ebben az oktatóanyagban megtanulta, hogyan hozhat létre API-t Cassandra-fiókhoz az Azure Cosmos DB-ben, egy adatbázist és egy táblát Egy Java-alkalmazás használatával. Továbbléphet a következő cikkre: