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ással az Azure Cosmos DB-ben, hogyan adhat hozzá 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 részleteket tartalmaz, mint a felhasználói azonosító, a felhasználónév és a felhasználói város.

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

  • Cassandra-adatbázisfiók létrehozása.
  • Szerezd meg a fiók összekötő karakterláncát.
  • Hozzon létre egy Maven-projektet és függőségeket.
  • Adjon hozzá egy adatbázist és egy táblát.
  • Nyisd meg az alkalmazást.

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 lehetőséget.

  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 , a Cassandra szakaszban válassza a Létrehozás lehetőséget.

    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 az oktatóanyagban egy olyan táblát hoz létre, amely a Cassandra API-val működik.

    A Cassandra API-val kapcsolatos további információkért lásd: Mi az Az Azure Cosmos DB az Apache Cassandra-hoz?

  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 A te előfizetésed. Válassza ki az Azure Cosmos DB-fiókhoz használni kívánt Azure-előfizetést.
    Erőforráscsoport Hozzon létre újat.

    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.comhozzá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.
    Helyszín A felhasználókhoz legközelebbi 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ás mód Kiosztott átviteli sebesség vagy kiszolgáló nélküli. Válassza a kiosztott átviteli sebesség lehetőséget, hogy kiosztott átviteli sebesség módban hozzon létre egy fiókot. Válassza a Kiszolgáló nélküli lehetőséget, ha kiszolgáló nélküli módban szeretne fiókot létrehozni.
    Azure Cosmos DB ingyenes szintű kedvezményének alkalmazása Alkalmazza vagy ne alkalmazza. Az Ingyenes Azure Cosmos DB-csomaggal az első 1000 RU/s és 25 GB tárterület ingyenesen elérhető egy fiókban. További információ az ingyenes szintről.
    A fiók teljes átviteli sebességének korlátozása Válassza ki a lehetőséget a fiók sávszélességének korlátozásához. Ez a beállítás 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 legfeljebb egy ingyenes szintű Azure Cosmos DB-fiókkal rendelkezhet. A fiók létrehozásakor be kell jelentkeznie. Ha nem látja az opciót az ingyenes szint kedvezményének alkalmazására, akkor az előfizetésben már egy másik fiókban 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. Használja az oktatóanyag alapértelmezett értékeit.

    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 funkcióval kihasználhatja az adatbázisok és tárolók kiosztott átviteli sebességét a világ minden táján.
    Rendelkezésre állási zónák Letiltás A rendelkezésre állási zónák egy Azure-régión belüli 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.

    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. A következő lapok további adatait 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áljon rendszeres 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, amelyekkel kategorizálhatja az erőforrásokat, és megtekintheti az összevont számlázást ú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.

    Képernyőkép az Azure Portal Értesítések paneljétől.

  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ó. A cikkben ismertetett lépéseket futtathatja, 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 alapoktól való létrehozásához kövesse az alábbi lépéseket:

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

    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ő használatával nyissa meg a pom.xml létrehozott 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. resources mappa alatt 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 mappán cassandra belül hozzon létre egy másik mappát.utils 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. A Konfigurációk osztály használatával olvassa be a kapcsolati sztring adatait a config.properties fájlból.

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

    Hozzon létre egy User.java osztályt a src/main/java/com/azure/cosmosdb/cassandra/ mappában get és set metódusokkal.

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 Cassandra Lekérdezési nyelv (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. Az Azure Portalon nyissa meg az Adatkezelőt annak ellenőrzéséhez, hogy létrejött-e a kulcstér és a tábla.

Következő lépés

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: