Esercitazione: creare un account API Cassandra di Azure Cosmos DB con un'applicazione Java per archiviare dati chiave/valoreTutorial: Create a Cassandra API account in Azure Cosmos DB by using a Java application to store key/value data

Gli sviluppatori possono avere applicazioni che usano coppie chiave/valore.As a developer, you might have applications that use key/value pairs. È possibile usare un account API Cassandra di Azure Cosmos DB per archiviare dati chiave/valore.You can use a Cassandra API account in Azure Cosmos DB to store the key/value data. Questa esercitazione descrive come usare un'applicazione Java per creare un account API Cassandra di Azure Cosmos DB e come aggiungere un database (noto anche come keyspace) e una tabella.This tutorial describes how to use a Java application to create a Cassandra API account in Azure Cosmos DB, add a database (also called a keyspace), and add a table. L’applicazione Java usa il driver Java per creare un database utente, che contiene dettagli come l'ID utente, il nome utente e la città dell'utente.The Java application uses the Java driver to create a user database that contains details such as user ID, user name, and user city.

Questa esercitazione illustra le attività seguenti:This tutorial covers the following tasks:

  • Creare un account di database CassandraCreate a Cassandra database account
  • Ottenere la stringa di connessione dell’accountGet the account connection string
  • Creare il progetto e le dipendenze MavenCreate a Maven project and dependencies
  • Aggiungere un database e una tabellaAdd a database and a table
  • Esecuzione dell'appRun the app

PrerequisitiPrerequisites

Creare un account di databaseCreate a database account

  1. Accedere al  portale di Azure.Sign in to the Azure portal.

  2. Selezionare Crea una risorsa > Database > Azure Cosmos DB.Select Create a resource > Databases > Azure Cosmos DB.

  3. Nel riquadroNuovo account immettere le impostazioni per il nuovo account Azure Cosmos.In the New account pane, enter the settings for the new Azure Cosmos account.

    ImpostazioneSetting Valore consigliatoSuggested value DESCRIZIONEDescription
    IDID Immettere un nome univocoEnter a unique name Immettere un nome univoco per identificare l'account Azure Cosmos.Enter a unique name to identify this Azure Cosmos account.

    Poiché cassandra.cosmosdb.azure.azure.com è accodato all'ID fornito per creare il proprio punto di contatto, usare un ID univoco ma facilmente identificabile.Because cassandra.cosmosdb.azure.com is appended to the ID that you provide to create your contact point, use a unique but identifiable ID.
    APIAPI CassandraCassandra L'API determina il tipo di account da creare.The API determines the type of account to create.
    Selezionare Cassandra, poiché in questo articolo si creerà un database con colonne ampie che può essere interrogato usando la sintassi del linguaggio query di Cassandra (CQL).Select Cassandra, because in this article you will create a wide-column database that can be queried by using Cassandra Query Language (CQL) syntax.
    SottoscrizioneSubscription Sottoscrizione in usoYour subscription Selezionare la sottoscrizione di Azure da usare per l'account Azure Cosmos.Select Azure subscription that you want to use for this Azure Cosmos account.
    Gruppo di risorseResource Group Immettere un nomeEnter a name SelezionareCrea nuovo e quindi immettere il nome di un nuovo gruppo di risorse per l'account.Select Create New, and then enter a new resource-group name for your account. Per semplicità si può usare lo stesso nome usato come ID.For simplicity, you can use the same name as your ID.
    LocalitàLocation Selezionare l'area più vicina agli utentiSelect the region closest to your users Selezionare la posizione geografica in cui ospitare l'account Azure Cosmos.Select the geographic location in which to host your Azure Cosmos account. Usare la località più vicina agli utenti per offrire loro la massima velocità di accesso ai dati.Use the location that's closest to your users, to give them the fastest access to the data.

    Creare un account con il portale

  4. Selezionare Create.Select Create.
    La creazione dell'account richiede alcuni minuti,The account creation takes a few minutes. Dopo la creazione della risorsa, è possibile visualizzare la notifica Distribuzione completata nella parte destra del portale.After the resource is created, you can see the Deployment succeeded notification on the right side of the portal.

Ottenere i dettagli della connessione dell'accountGet the connection details of your account

Ottenere le informazioni sulla stringa di connessione dal portale di Azure e copiarle nel file di configurazione di Java.Get the connection string information from the Azure portal, and copy it into the Java configuration file. La stringa di connessione consente all'app di comunicare con il database ospitato.The connection string enables your app to communicate with your hosted database.

  1. Dal portale di Azure, passare all'account Azure Cosmos.From the Azure portal, go to your Azure Cosmos account.

  2. Aprire il riquadro Stringa di connessione.Open the Connection String pane.

  3. Copiare i valori PUNTO DI CONTATTO, PORTA, NOME UTENTE e PASSWORD PRIMARIA da usare nei passaggi successivi.Copy the CONTACT POINT, PORT, USERNAME, and PRIMARY PASSWORD values to use in the next steps.

Creare il progetto e le dipendenzeCreate the project and the dependencies

Il progetto di esempio Java usato in questo articolo è ospitato in GitHub.The Java sample project that you use in this article is hosted in GitHub. È possibile eseguire i passaggi descritti in questo documento o scaricare l'esempio dal repository azure-cosmos-db-cassandra-java-getting-started.You can run the steps in this doc or download the sample from the azure-cosmos-db-cassandra-java-getting-started repository.

Dopo aver scaricato i file, aggiornare le informazioni sulla stringa di connessione all'interno del file java-examples\src\main\resources\config.properties ed eseguirlo.After you download the files, update the connection string information within the java-examples\src\main\resources\config.properties file and run it.

cassandra_host=<FILLME_with_CONTACT POINT> 
cassandra_port = 10350 
cassandra_username=<FILLME_with_USERNAME> 
cassandra_password=<FILLME_with_PRIMARY PASSWORD> 

Per compilare l'esempio da zero, seguire i passaggi indicati di seguito:Use the following steps to build the sample from scratch:

  1. Dal terminale o dal prompt dei comandi, creare un nuovo progetto Maven denominato Cassandra-demo.From the terminal or command prompt, create a new Maven project called Cassandra-demo.

    mvn archetype:generate -DgroupId=com.azure.cosmosdb.cassandra -DartifactId=cassandra-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 
    
  2. Trova la cartella cassandra-demo.Locate the cassandra-demo folder. Usando un editor di testo, aprire il file pom.xml che è stato generato.Using a text editor, open the pom.xml file that was generated.

    Aggiungere le dipendenze di Cassandra e compilare i plug-in richiesti dal progetto come mostrato nel file pom.xml.Add the Cassandra dependencies and build plugins required by your project, as shown in the pom.xml file.

  3. Nella cartella cassandra-demo\src\main, creare una nuova cartella denominata resources.Under the cassandra-demo\src\main folder, create a new folder named resources. Nella cartella di risorse, aggiungere i file config.properties e log4j.properties:Under the resources folder, add the config.properties and log4j.properties files:

    • Il file config.properties archivia l'endpoint di connessione e i valori chiave dell'account API Cassandra.The config.properties file stores the connection endpoint and key values of the Cassandra API account.

    • Il file log4j.properties definisce il livello di registrazione richiesto quando si interagisce con l'API Cassandra.The log4j.properties file defines the level of logging required for interacting with the Cassandra API.

  4. Passare alla cartella src/main/java/com/azure/cosmosdb/cassandra/.Browse to the src/main/java/com/azure/cosmosdb/cassandra/ folder. All'interno della cartella di cassandra, creare un'altra cartella denominata utils.Within the cassandra folder, create another folder named utils. La nuova cartella archivia le classi di utilità necessarie per connettersi all'account API Cassandra.The new folder stores the utility classes required to connect to the Cassandra API account.

    Aggiungere la classe CassandraUtils per creare il cluster e per aprire e chiudere le sessioni di Cassandra.Add the CassandraUtils class to create the cluster and to open and close Cassandra sessions. Il cluster si connette all’account API Cassandra in Azure Cosmos DB e restituisce una sessione di accesso.The cluster connects to the Cassandra API account in Azure Cosmos DB and returns a session to access. Usare la classe Configurazioni per leggere le informazioni sulla stringa di connessione dal file config.properties.Use the Configurations class to read connection string information from the config.properties file.

  5. L'esempio Java crea un database con informazioni sull'utente, ad esempio nome utente, ID utente e città dell'utente.The Java sample creates a database with user information such as user name, user ID, and user city. È necessario definire i metodi di get e set per accedere ai dettagli dell'utente nella funzione principale.You need to define get and set methods to access user details in the main function.

    Creare una classe User.java nella cartella src/main/java/com/azure/cosmosdb/cassandra/ con i metodi get e set.Create a User.java class under the src/main/java/com/azure/cosmosdb/cassandra/ folder with get and set methods.

Aggiungere un database e una tabellaAdd a database and a table

Questa sezione descrive come aggiungere un database (keyspace) e una tabella con CQL.This section describes how to add a database (keyspace) and a table, by using CQL.

  1. Nella cartella src\main\java\com\azure\cosmosdb\cassandra, creare una nuova cartella denominata repository.Under the src\main\java\com\azure\cosmosdb\cassandra folder, create a new folder named repository.

  2. Creare la classe Java UserRepository e aggiungervi i seguenti codici:Create the UserRepository Java class and add the following code to it:

    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. Trovare la cartella src\main\java\com\azure\cosmosdb\cassandra e creare una nuova sottocartella denominata examples.Locate the src\main\java\com\azure\cosmosdb\cassandra folder, and create a new subfolder named examples.

  4. Creare la classe Java UserProfile.Create the UserProfile Java class. Questa classe contiene il metodo principale che chiama i metodi creareKeyspace e creareTabelle definiti in precedenza:This class contains the main method that calls the createKeyspace and createTable methods you defined earlier:

    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"); 
            } 
        } 
    } 
    

Esecuzione dell'appRun the app

  1. Aprire un prompt dei comandi o una finestra del terminale.Open a command prompt or terminal window. Incollare il codice seguente.Paste the following code block.

    Questo codice modifica la directory (cd) nel percorso della cartella in cui è stato creato il progetto.This code changes the directory (cd) to the folder path where you created the project. Quindi, esegue il comando mvn clean install per generare il file cosmosdb-cassandra-examples.jar all'interno della cartella di destinazione.Then, it runs the mvn clean install command to generate the cosmosdb-cassandra-examples.jar file within the target folder. Infine, esegue l'applicazione Java.Finally, it runs the Java application.

    cd cassandra-demo
    
    mvn clean install 
    
    java -cp target/cosmosdb-cassandra-examples.jar com.azure.cosmosdb.cassandra.examples.UserProfile 
    

    Nella finestra del terminale vengono visualizzate notifiche per il completamento della creazione di keyspace e tabella.The terminal window displays notifications that the keyspace and table are created.

  2. A questo punto, nel portale di Azure, aprire Esplora dati per confermare che sono stati creati il keyspace e la tabella.Now, in the Azure portal, open Data Explorer to confirm that the keyspace and table were created.

Passaggi successiviNext steps

In questa esercitazione si è appreso come creare un account API Cassandra di Azure Cosmos DB, un database e una tabella con un'applicazione Java.In this tutorial, you've learned how to create a Cassandra API account in Azure Cosmos DB, a database, and a table by using a Java application. È possibile passare all'articolo successivo:You can now proceed to the next article: