Självstudie: Fråga efter data från ett API för Cassandra-konto i Azure Cosmos DB

GÄLLER FÖR: Cassandra

Som utvecklare kan du ha program som använder nyckel/värde-par. Du kan använda ett API för Cassandra-konto i Azure Cosmos DB för att lagra och köra frågor mot nyckel-/värdedata. Den här självstudien visar hur du frågar efter användardata från ett API för Cassandra-konto i Azure Cosmos DB med hjälp av ett Java-program. Java-programmet använder Java-drivrutinen och frågar efter användardata, till exempel användar-ID, användarnamn och användarens stad.

Den här självstudien omfattar följande uppgifter:

  • Fråga efter data från en Cassandra-tabell
  • Kör appen

Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.

Förutsättningar

  • Den här artikeln tillhör en självstudiekursen i flera delar. Innan du börjar måste du slutföra föregående steg för att skapa API:et för Cassandra-kontot, nyckelutrymmet, tabellen och läsa in exempeldata i tabellen.

Söka i data

Använd följande steg för att fråga efter data från ditt API för Cassandra-kontot:

  1. Öppna filen UserRepository.java under mappen src\main\java\com\azure\cosmosdb\cassandra. Lägg till följande kodblock. Den här koden har tre metoder:

    • För att fråga efter alla användare i databasen
    • För att fråga en specifik användare som filtreras efter användar-ID
    • För att ta bort en tabell
    /**
    * Select all rows from user table
    */
    public void selectAllUsers() {
    
      final String query = "SELECT * FROM uprofile.user";
      List<Row> rows = session.execute(query).all();
    
      for (Row row : rows) {
         LOGGER.info("Obtained row: {} | {} | {} ", row.getInt("user_id"), row.getString("user_name"), row.getString("user_bcity"));
      }
    }
    
    /**
    * Select a row from user table
    *
    * @param id user_id
    */
    public void selectUser(int id) {
       final String query = "SELECT * FROM uprofile.user where user_id = 3";
       Row row = session.execute(query).one();
    
       LOGGER.info("Obtained row: {} | {} | {} ", row.getInt("user_id"), row.getString("user_name"), row.getString("user_bcity"));
    }
    
    /**
    * Delete user table.
    */
    public void deleteTable() {
      final String query = "DROP TABLE IF EXISTS uprofile.user";
      session.execute(query);
    }
    
  2. Öppna filen UserProfile.java under mappen src\main\java\com\azure\cosmosdb\cassandra. Den här klassen innehåller huvudmetoden som anropar datainmatningsmetoderna createKeyspace och createTable som du definierade tidigare. Lägg nu till följande kod som frågar efter alla användare eller en specifik användare:

    LOGGER.info("Select all users");
    repository.selectAllUsers();
    
    LOGGER.info("Select a user by id (3)");
    repository.selectUser(3);
    
    LOGGER.info("Delete the users profile table");
    repository.deleteTable();
    

Kör Java-appen

  1. Öppna en kommandotolk eller ett terminalfönster. Klistra in följande kodblock.

    Den här koden ändrar katalogen (cd) till sökvägen till mappen där du skapade projektet. Sedan kör den kommandot mvn clean install för att generera filen cosmosdb-cassandra-examples.jar i målmappen. Slutligen kör den Java-programmet.

    cd "cassandra-demo"
    
    mvn clean install
    
    java -cp target/cosmosdb-cassandra-examples.jar com.azure.cosmosdb.cassandra.examples.UserProfile
    
  2. Öppna nu Datautforskaren på Azure-portalen och bekräfta att användartabellen har tagits bort.

Rensa resurser

När de inte längre behövs kan du ta bort resursgruppen, Azure Cosmos DB-kontot och alla relaterade resurser. Om du vill göra detta väljer du resursgruppen för den virtuella datorn. Välj sedan Ta bort och kontrollera namnet på resursgruppen som du vill ta bort.

Nästa steg

I den här självstudien har du lärt dig hur du frågar efter data från ett API för Cassandra-konto i Azure Cosmos DB. Nu kan du fortsätta till nästa artikel: