Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 i dati chiave/valore. Questa esercitazione descrive come usare un'applicazione Java per creare un account API per Cassandra in Azure Cosmos DB, aggiungere un database (detto anche keyspace) e aggiungere una tabella. L'applicazione Java usa il driver Java per creare un database utente contenente dettagli, ad esempio l'ID utente, il nome utente e la città dell'utente.
Questa esercitazione illustra le attività seguenti:
- Creare un account di database Cassandra.
- Ottieni la stringa di connessione dell'account.
- Creare un progetto Maven e aggiungere le dipendenze.
- Aggiungere un database e una tabella.
- Avvia l'app.
Prerequisiti
- Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
- Ottenere la versione più recente di Java Development Kit (JDK).
-
Scaricare e installare un archivio binario Maven. In Ubuntu è possibile eseguire
apt-get install mavenper installare Maven.
Creare un account di database
Nel menu del portale di Azure o nella home page selezionare Crea una risorsa.
Nella pagina Nuovo cercare e selezionare Azure Cosmos DB.
Nella pagina Azure Cosmos DB selezionare Crea.
Nella pagina API , nella sezione Cassandra , selezionare Crea.
L'API determina il tipo di account da creare. Azure Cosmos DB mette a disposizione cinque API: NoSQL per i database di documenti, Gremlin per i database di grafi, MongoDB per i database di documenti, Azure Table e Cassandra. È necessario creare un account separato per ogni API.
Selezionare Cassandra perché in questa esercitazione si sta creando una tabella che funziona con l'API per Cassandra.
Per altre informazioni sull'API per Cassandra, vedere Informazioni su Azure Cosmos DB per Apache Cassandra.
Nella pagina Crea account Azure Cosmos DB immettere le impostazioni di base per il nuovo account Azure Cosmos DB.
Impostazione valore Descrizione Abbonamento La tua sottoscrizione. Selezionare la sottoscrizione di Azure da usare per l'account Azure Cosmos DB. Gruppo di risorse Crea nuovo elemento.
Immettere quindi lo stesso nome di Nome account.Selezionare Crea nuovo. Immettere quindi il nome di un nuovo gruppo di risorse per l'account. Per semplicità, usare lo stesso nome usato come nome dell'account Azure Cosmos DB. Account Name: Immettere un nome univoco. Immettere un nome univoco per identificare l'account Azure Cosmos DB. L'URI dell'account, cassandra.cosmos.azure.com, aggiunto al nome dell'account univoco.
Il nome dell'account può usare solo lettere minuscole, numeri e trattini (-) e deve avere una lunghezza compresa tra 3 e 31 caratteri.Ubicazione Area più vicina agli utenti. Selezionare una posizione geografica in cui ospitare l'account Azure Cosmos DB. Usare la località più vicina agli utenti per offrire loro la massima velocità di accesso ai dati. Modalità capacità Velocità effettiva con provisioning o serverless. Selezionare Velocità effettiva con provisioning per creare un account in modalità Velocità effettiva con provisioning. Selezionare Serverless per creare un account in modalità serverless . Applica lo sconto del piano gratuito di Azure Cosmos DB Applicare o Non applicare. Con il livello gratuito di Azure Cosmos DB si ottengono gratuitamente i primi 1.000 UR/sec e 25 GB di spazio di archiviazione in un account. Altre informazioni sul livello gratuito. Limitare la larghezza di banda totale dell'account Selezionare questa opzione per limitare la velocità effettiva dell'account. Questa opzione è utile se si vuole limitare la velocità effettiva totale dell'account a un valore specifico. Note
È possibile avere fino a un account Azure Cosmos DB di livello gratuito per ogni sottoscrizione di Azure. È necessario acconsentire esplicitamente quando si crea l'account. Se non viene visualizzata l'opzione per applicare lo sconto del livello gratuito, un altro account nella sottoscrizione è stato abilitato con il livello gratuito.
Nella scheda Distribuzione globale configurare i dettagli seguenti. Usare i valori predefiniti per questa esercitazione.
Impostazione valore Descrizione Ridondanza geografica Disabilitazione Abilitare o disabilitare la distribuzione globale nell'account associando la propria area a un'altra area. È possibile aggiungere altre aree al proprio account in un secondo momento. Scritture in più aree Disabilitazione La funzionalità Scritture in più aree consente di sfruttare la velocità effettiva di cui è stato effettuato il provisioning per i database e i contenitori in tutto il mondo. Zone di disponibilità Disabilitazione Le zone di disponibilità sono posizioni isolate all'interno di un'area di Azure. Ogni zona è costituita da uno o più data center dotati di impianti indipendenti per l'alimentazione, il raffreddamento e la connettività di rete. Le opzioni seguenti non sono disponibili se si seleziona Serverless come modalità capacità:
- Applica sconto per il livello gratuito
- Ridondanza geografica
- Scritture in più aree
Facoltativamente, è possibile configurare altri dettagli nelle schede seguenti:
- Rete: configurare l'accesso da una rete virtuale.
- Criteri di backup: configurare criteri di backup periodici o continui .
- Crittografia: usare una chiave gestita dal servizio o una chiave gestita dal cliente.
- Tag: i tag sono coppie nome/valore che è possibile usare per classificare le risorse e visualizzare la fatturazione consolidata applicando lo stesso tag a più risorse e gruppi di risorse.
Selezionare Rivedi e crea.
Esaminare le impostazioni dell'account e quindi selezionare Crea. La creazione dell'account richiede alcuni minuti. Attendere che la pagina del portale visualizzi La distribuzione è stata completata.
Selezionare Vai alla risorsa per passare alla pagina dell'account Azure Cosmos DB.
Ottenere i dettagli della connessione dell'account
Ottenere le informazioni sulla stringa di connessione dal portale di Azure e copiarle nel file di configurazione di Java. La stringa di connessione consente all'app di comunicare con il database ospitato.
Nel portale di Azure passare all'account Azure Cosmos DB.
Aprire il riquadro Stringa di connessione.
Copiare i valori PUNTO DI CONTATTO, PORTA, NOME UTENTE e PASSWORD PRIMARIA da usare nei passaggi successivi.
Creare il progetto e le dipendenze
Il progetto di esempio Java usato in questo articolo è ospitato in GitHub. È possibile eseguire i passaggi descritti in questo articolo o scaricare l'esempio dal repository azure-cosmos-db-cassandra-java-getting-started .
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.
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 questa procedura:
Dal terminale o dal prompt dei comandi creare un nuovo progetto Maven denominato
cassandra-demo.mvn archetype:generate -DgroupId=com.azure.cosmosdb.cassandra -DartifactId=cassandra-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=falseTrova la cartella
cassandra-demo. Usando un editor di testo, aprire ilpom.xmlfile generato.Aggiungere le dipendenze di Cassandra e compilare i plug-in richiesti dal progetto, come illustrato nel file pom.xml .
Nella cartella
cassandra-demo\src\main, creare una nuova cartella denominataresources. Nella cartellaresources, aggiungi i fileconfig.propertieselog4j.properties:- Il file config.properties archivia l'endpoint di connessione e i valori chiave dell'account dell'API per Cassandra.
- Il file log4j.properties definisce il livello di registrazione richiesto quando si interagisce con l'API per Cassandra.
Passare alla cartella
src/main/java/com/azure/cosmosdb/cassandra/. All'interno dellacassandracartella creare un'altra cartella denominatautils. La nuova cartella archivia le classi di utilità necessarie per connettersi all'API per l'account Cassandra.Aggiungere la classe CassandraUtils per creare il cluster e per aprire e chiudere le sessioni di Cassandra. Il cluster si connette all'account dell'API per Cassandra in Azure Cosmos DB e restituisce una sessione per l'accesso. Usare la classe Configurations per leggere le informazioni sulla stringa di connessione dal
config.propertiesfile.L'esempio Java crea un database con informazioni sull'utente, ad esempio il nome utente, l'ID utente e la città dell'utente. È necessario definire
getmetodi esetper accedere ai dettagli utente nella funzione principale.Creare una classe User.java nella cartella
src/main/java/com/azure/cosmosdb/cassandra/con i metodigeteset.
Aggiungere un database e una tabella
Questa sezione descrive come aggiungere un database (keyspace) e una tabella usando cassandra Query Language (CQL).
Nella cartella
src\main\java\com\azure\cosmosdb\cassandra, creare una nuova cartella denominatarepository.Creare la classe Java
UserRepositorye aggiungervi i seguenti codici: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'"); } }Trovare la cartella
src\main\java\com\azure\cosmosdb\cassandrae creare una nuova sottocartella denominataexamples.Creare la classe Java
UserProfile. Questa classe contiene il metodo main che chiama i metodicreateKeyspaceecreateTabledefiniti in precedenza.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"); } } }
Eseguire l'app
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 comandomvn clean installper generare il filecosmosdb-cassandra-examples.jarall'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.UserProfileNella finestra del terminale vengono visualizzate notifiche per il completamento della creazione di keyspace e tabella.
Nel portale di Azure aprire Esplora dati per verificare che il keyspace e la tabella siano stati creati.
Passo successivo
In questa esercitazione si è appreso come creare un account API per Cassandra in Azure Cosmos DB, un database e una tabella usando un'applicazione Java. È possibile passare all'articolo successivo: