Compartir a través de


Tutorial: Consulta de datos desde una cuenta de API para Cassandra en Azure Cosmos DB

SE APLICA A: Casandra

Como desarrollador, puede que tenga aplicaciones que usan pares clave/valor. Puede usar una API para la cuenta de Cassandra en Azure Cosmos DB para almacenar y consultar los datos de clave y valor. En este tutorial se muestra cómo consultar datos de usuario desde una cuenta de API for Cassandra en Azure Cosmos DB mediante una aplicación Java. La aplicación Java usa el controlador de Java y consulta los datos de usuario, como el identificador de usuario, el nombre de usuario y la ciudad del usuario.

En este tutorial se describen las tareas siguientes:

  • Consulta de datos de una tabla de Cassandra.
  • Ejecute la aplicación.

Requisitos previos

  • Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
  • Este artículo pertenece a un tutorial de varias partes. Antes de empezar, asegúrese de completar los pasos anteriores para crear la API para la cuenta de Cassandra, el espacio de claves y la tabla. Cargue también datos de ejemplo en la tabla.

Consultar datos

Para consultar datos de la cuenta de API for Cassandra, siga estos pasos:

  1. Abra el archivo UserRepository.java en la carpeta src\main\java\com\azure\cosmosdb\cassandra. Anexe el bloque de código siguiente. Este código proporciona tres métodos para:

    • Consulta a todos los usuarios de la base de datos.
    • Consulte un usuario específico filtrado por el identificador de usuario.
    • Permite eliminar una tabla.
    /**
    * 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. Abra el archivo UserProfile.java en la carpeta src\main\java\com\azure\cosmosdb\cassandra. Esta clase contiene el método principal que llama a los métodos de inserción de datos createKeyspace y createTable que definió anteriormente. Anexe el código siguiente que consulta a todos los usuarios o a un usuario específico:

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

Ejecución de la aplicación Java

  1. Abra un símbolo del sistema o una ventana de terminal. Pegue el bloque de código siguiente.

    Este código cambia el directorio (cd) a la ruta de acceso de la carpeta donde creó el proyecto. A continuación, se ejecuta el comando mvn clean install para generar el archivo cosmosdb-cassandra-examples.jar en la carpeta de destino. Finalmente, se ejecuta la aplicación de Java.

    cd "cassandra-demo"
    
    mvn clean install
    
    java -cp target/cosmosdb-cassandra-examples.jar com.azure.cosmosdb.cassandra.examples.UserProfile
    
  2. Ahora, en Azure Portal, abra El Explorador de datos y confirme que se elimina la tabla de usuario.

Limpieza de recursos

Cuando ya no se necesitan recursos, puede eliminar el grupo de recursos, la cuenta de Azure Cosmos DB y todos los recursos relacionados. Para ello, seleccione el grupo de recursos de la máquina virtual, seleccione Eliminar y luego confirme el nombre del grupo de recursos que va a eliminar.

Paso siguiente

En este tutorial, ha aprendido a interrogar los datos desde una API para cuentas de Cassandra en Azure Cosmos DB. Avance al siguiente artículo: