Condividi tramite


Esercitazione: Eseguire query sui dati da un account API per Cassandra in Azure Cosmos DB

SI APPLICA A: Cassandra

Gli sviluppatori possono avere applicazioni che usano coppie chiave/valore. È possibile usare un'API per l'account Cassandra in Azure Cosmos DB per archiviare ed eseguire query sui dati chiave/valore. Questa esercitazione illustra come eseguire query sui dati utente da un account API per Cassandra in Azure Cosmos DB usando un'applicazione Java. L'applicazione Java usa il driver Java e esegue query sui dati utente, ad esempio l'ID utente, il nome utente e la città dell'utente.

Questa esercitazione illustra le attività seguenti:

  • Interrogare i dati da una tabella di Cassandra.
  • Avvia l'app.

Prerequisiti

  • Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
  • Questo articolo appartiene a un tutorial in più parti. Prima di iniziare, assicurarsi di completare i passaggi precedenti per creare l'API per l'account Cassandra, il keyspace e la tabella. Caricare anche i dati di esempio nella tabella.

Eseguire query sui dati

Per eseguire query sui dati dall'API per l'account Cassandra, seguire questa procedura:

  1. Aprire il file UserRepository.java nella cartella src\main\java\com\azure\cosmosdb\cassandra. Aggiungere il blocco di codice seguente. Questo codice fornisce tre metodi per:

    • Eseguire query su tutti gli utenti nel database.
    • Eseguire una query su un utente specifico filtrato in base all'ID utente.
    • Eliminare una tabella.
    /**
    * 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. Aprire il file UserProfile.java nella cartella src\main\java\com\azure\cosmosdb\cassandra. Questa classe contiene il metodo main che chiama i metodi di inserimento dati createKeyspace e createTable che avete definito in precedenza. Aggiungere il codice seguente per eseguire query su tutti gli utenti o su un utente specifico:

    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();
    

Eseguire l'app Java

  1. Aprire un prompt dei comandi o una finestra del terminale. Incollare il codice seguente.

    Questo codice modifica la directory (cd) nel percorso della cartella in cui è stato creato il progetto. Quindi, esegue il comando mvn clean install per generare il file cosmosdb-cassandra-examples.jar all'interno della cartella di destinazione. Infine, esegue l'applicazione Java.

    cd "cassandra-demo"
    
    mvn clean install
    
    java -cp target/cosmosdb-cassandra-examples.jar com.azure.cosmosdb.cassandra.examples.UserProfile
    
  2. Nel portale di Azure aprire Esplora dati e verificare che la tabella utente sia stata eliminata.

Pulire le risorse

Quando le risorse non sono più necessarie, è possibile eliminare il gruppo di risorse, l'account Azure Cosmos DB e tutte le risorse correlate. A tale scopo, selezionare il gruppo di risorse per la macchina virtuale, selezionare Elimina e quindi confermare il nome del gruppo di risorse da eliminare.

Passo successivo

In questa esercitazione, hai imparato come eseguire query sui dati tramite l'API per l'account Cassandra in Azure Cosmos DB. È possibile passare all'articolo successivo: