Eventos
Compilación de Intelligent Apps
17 mar, 21 - 21 mar, 10
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
SE APLICA A: Cassandra
Como desarrollador, puede que tenga aplicaciones que usan pares clave/valor. Puede usar una cuenta de la API para Cassandra en Azure Cosmos DB para almacenar los datos de esos pares clave/valor. En este tutorial se describe cómo usar una aplicación de Java para crear una cuenta de la API para Cassandra en Azure Cosmos DB, así como agregar una base de datos (también conocida como espacio de claves) y una tabla. La aplicación de Java utiliza el controlador Java para crear una base de datos de usuario que contiene información detallada como el identificador, el nombre y la ciudad del usuario.
En este tutorial se describen las tareas siguientes:
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Obtenga la versión más reciente de Java Development Kit (JDK).
Descargue e instale un archivo binario de Maven.
apt-get install maven
para instalar Maven.En el menú de Azure Portal o en la página principal, seleccione Crear un recurso.
En la página Nuevos, busque y seleccione Azure Cosmos DB.
En la página Azure Cosmos DB, seleccione Crear.
En la página API, seleccione Crear en la sección Cassandra.
La API determina el tipo de cuenta que se va a crear. Azure Cosmos DB proporciona cinco API: NoSQL para bases de datos de documentos, Gremlin para bases de datos de grafos, MongoDB para bases de datos de documentos, Azure Table y Cassandra. Debe crear una cuenta independiente para cada API.
Seleccione Cassandra, ya que en este inicio rápido va a crear una tabla que funciona con la API para Cassandra.
En la página Crear una cuenta de Azure Cosmos DB, especifique la configuración básica de la nueva cuenta de Azure Cosmos DB.
Configuración | valor | Descripción |
---|---|---|
Suscripción | Su suscripción | Seleccione la suscripción de Azure que quiere usar para esta cuenta de Azure Cosmos DB. |
Grupo de recursos | Crear nuevo A continuación, escriba el mismo nombre que el nombre de cuenta. |
Seleccione Crear nuevo. Luego, escriba un nombre nuevo de grupo de recursos para la cuenta. Para simplificar, use el mismo nombre que el de la cuenta de Azure Cosmos DB. |
Nombre de cuenta | Escriba un nombre único. | Escriba un nombre único para identificar la cuenta de Azure Cosmos DB. El URI de la cuenta será cassandra.cosmos.azure.com y se anexará al nombre único de la cuenta. El nombre de la cuenta solo puede utilizar letras minúsculas, números y guiones (-), y debe tener entre 3 y 31 caracteres de longitud. |
Location | Región más cercana a los usuarios | Seleccione una ubicación geográfica para hospedar la cuenta de Azure Cosmos DB. Use la ubicación más cercana a los usuarios para que puedan acceder de la forma más rápida posible a los datos. |
Capacity mode (Modo de capacidad) | Rendimiento aprovisionado o sin servidor | Seleccione Provisioned throughput (Rendimiento aprovisionado) para crear una cuenta en modo de rendimiento aprovisionado. Seleccione Serverless (Sin servidor) para crear una cuenta en modo sin servidor. |
Aplicar el descuento del nivel Gratis de Azure Cosmos DB | Aplicar o No aplicar | Con el nivel Gratis de Azure Cosmos DB, recibirá los primeros 1000 RU/s y 25 GB de almacenamiento gratis en una cuenta. Más información acerca del nivel Gratis. |
Límite del rendimiento total de la cuenta | Seleccione esta opción para limitar el rendimiento de la cuenta | Esto resultará útil si desea limitar el rendimiento total de la cuenta a un valor específico. |
Nota
Puede tener una cuenta de Azure Cosmos DB de nivel Gratis por cada suscripción de Azure y debe optar por tenerla al crear la cuenta. Si no ve la opción para aplicar el descuento por nivel Gratis, significará que en otra cuenta de la suscripción ya se ha habilitado el nivel Gratis.
En la pestaña Distribución global, configure los detalles siguientes. Puede dejar los valores predeterminados para este inicio rápido:
Configuración | valor | Descripción |
---|---|---|
Redundancia geográfica | Deshabilitar | Habilite o deshabilite la distribución global en su cuenta. Para ello, debe emparejar su región con una región de par. Puede agregar más regiones a su cuenta más adelante. |
Escrituras en varias regiones | Deshabilitar | La funcionalidad de escrituras en varias regiones le permite aprovechar el rendimiento aprovisionado para sus bases de datos y contenedores de todo el mundo. |
Zonas de disponibilidad | Deshabilitar | Las zona de disponibilidad son ubicaciones aisladas dentro de una región de Azure. Cada zona de disponibilidad consta de uno o varios centros de datos equipados con alimentación, refrigeración y redes independientes. |
Nota
Las siguientes opciones no están disponibles si selecciona Serverless (Sin servidor) en Capacity mode (Modo de capacidad):
Opcionalmente, puede configurar detalles adicionales en las pestañas siguientes:
Seleccione Revisar + crear.
Revise la configuración de la cuenta y seleccione Crear. La operación de creación de la cuenta tarda unos minutos. Espere hasta que la página del portal muestre Se completó la implementación .
Seleccione Ir al recurso para ir a la página de la cuenta de Azure Cosmos DB.
Obtenga la información de la cadena de conexión desde Azure Portal y cópiela en el archivo de configuración de Java. La cadena de conexión permite a la aplicación comunicarse con la base de datos hospedada.
Desde Azure Portal, vaya a la cuenta de Azure Cosmos DB.
Abra el panel Cadena de conexión.
Copie los valores de PUNTO DE CONTACTO, PUERTO, NOMBRE DE USUARIO y CONTRASEÑA PRINCIPAL que se usarán en los pasos siguientes.
El proyecto de ejemplo de Java que se usa en este artículo se hospeda en GitHub. Puede ejecutar los pasos que aparecen en este documento o descargar el ejemplo del repositorio azure-cosmos-db-cassandra-java-getting-started.
Después de descargar los archivos, actualice la información de la cadena de conexión en el archivo java-examples\src\main\resources\config.properties
y ejecútelo.
cassandra_host=<FILLME_with_CONTACT POINT>
cassandra_port = 10350
cassandra_username=<FILLME_with_USERNAME>
cassandra_password=<FILLME_with_PRIMARY PASSWORD>
Use estos pasos para compilar el ejemplo desde cero:
En el terminal o símbolo del sistema, cree un nuevo proyecto de Maven denominado "Cassandra-demo".
mvn archetype:generate -DgroupId=com.azure.cosmosdb.cassandra -DartifactId=cassandra-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
Localice la carpeta cassandra-demo
. Con un editor de texto, abra el archivo pom.xml
que se generó.
Agregue las dependencias de Cassandra y cree los complementos necesarios para el proyecto, tal y como se muestra en el archivo pom.xml.
En la carpeta cassandra-demo\src\main
, cree una carpeta denominada resources
. En la carpeta de recursos, agregue los archivos config.properties y log4j.properties:
El archivo config.properties almacena los valores de clave y el punto de conexión de la cuenta de la API para Cassandra.
El archivo log4j.properties define el nivel de registro necesario para interactuar con la API para Cassandra.
Examine la carpeta src/main/java/com/azure/cosmosdb/cassandra/
. Dentro de la carpeta cassandra, cree otra carpeta denominada utils
. La nueva carpeta almacena las clases de utilidad necesarias para conectarse a la cuenta de la API para Cassandra.
Agregue la clase CassandraUtils para crear el clúster y abrir y cerrar las sesiones de Cassandra. El clúster se conecta a la cuenta de la API para Cassandra en Azure Cosmos DB y devuelve una sesión a la que se accede. Use la clase Configuraciones para leer información de la cadena de conexión desde el archivo config.properties.
El ejemplo de Java crea una base de datos con información de usuario como el nombre de usuario, el identificador de usuario y la ciudad del usuario. Deberá definir los métodos get y set para acceder a los detalles del usuario en la función principal.
Cree una clase User.java en la carpeta src/main/java/com/azure/cosmosdb/cassandra/
con los métodos get y set.
En esta sección se describe cómo agregar una base de datos (espacio de claves) y una tabla mediante CQL.
En la carpeta src\main\java\com\azure\cosmosdb\cassandra
, cree una carpeta denominada repository
.
Cree la clase de Java UserRepository
y agregue el código siguiente en él:
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'");
}
}
Busque la carpeta src\main\java\com\azure\cosmosdb\cassandra
y cree una nueva subcarpeta denominada "examples
".
Cree la clase de Java UserProfile
. Esta clase contiene el método principal que llama a los métodos createKeyspace y createTable definidos anteriormente:
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");
}
}
}
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
En la ventana de terminal se notifica que se ha creado el espacio de claves y la tabla.
Ahora, en Azure Portal, abra el Explorador de datos para confirmar que el espacio de claves y la tabla se crearon.
En este tutorial, aprendió a crear una cuenta de la API para Cassandra en Azure Cosmos DB, una base de datos y una tabla mediante una aplicación de Java. Avance al siguiente artículo:
Eventos
Compilación de Intelligent Apps
17 mar, 21 - 21 mar, 10
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraCursos
Módulo
Más información sobre cómo crear una aplicación de Java para almacenar y consultar datos en Azure Cosmos DB
Certificación
Microsoft Certified: Azure Cosmos DB Developer Specialty - Certifications
Escribe consultas eficaces, crea directivas de indexación, administra y aprovisiona recursos en la API de SQL y el SDK con Microsoft Azure Cosmos DB.
Documentación
Documentación de Azure Cosmos DB for Apache Cassandra
Las cuentas de Azure Cosmos DB for Apache Cassandra permiten almacenar datos para aplicaciones escritas para Apache Cassandra.
En este tutorial se explica cómo cargar datos de usuario de muestra en una tabla de la API para Cassandra en Azure Cosmos DB mediante una aplicación Java.
Características de Apache Cassandra admitidas por Azure Cosmos DB for Apache Cassandra
Obtenga información sobre la compatibilidad con las características de Apache Cassandra en Azure Cosmos DB for Apache Cassandra