Condividi tramite


Come usare l'API Spring Data per Apache Cassandra con Azure Cosmos DB per Apache Cassandra

SI APPLICA A: Cassandra

Questo articolo illustra la creazione di un'applicazione di esempio che usa Spring Data per archiviare e recuperare informazioni usando Azure Cosmos DB per Apache Cassandra.

Prerequisiti

I prerequisiti seguenti sono necessari per completare le procedure disponibili in questo articolo:

Note

Gli esempi indicati di seguito implementano estensioni personalizzate per un'esperienza migliore quando si usa Azure Cosmos DB per Apache Cassandra. Includono criteri di ripetizione e bilanciamento del carico personalizzati, nonché l'implementazione delle impostazioni di connessione consigliate. Per un'esplorazione più approfondita del modo in cui vengono usati i criteri personalizzati, vedere Esempi Java per la versione 3 e la versione 4.

Creare un account Azure Cosmos DB for Apache Cassandra

  1. Nel menu del portale di Azure o nella home page selezionare Crea una risorsa.

  2. Nella pagina Nuovo cercare e selezionare Azure Cosmos DB.

  3. Nella pagina Azure Cosmos DB selezionare Crea.

  4. 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.

  5. 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à di gestione della 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 .
    Applicare lo sconto per il 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 il throughput 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.

    Pagina del nuovo account per Azure Cosmos DB for Apache Cassandra

  6. 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 Con la capacità di scrittura multiregione, è possibile sfruttare il throughput fornito 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
  7. Facoltativamente, è possibile configurare altri dettagli nelle schede seguenti:

  8. Selezionare Rivedi e crea.

  9. 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.

    Screenshot che mostra il riquadro Notifiche del portale di Azure.

  10. Selezionare Vai alla risorsa per passare alla pagina dell'account Azure Cosmos DB.

Configurare l'applicazione di esempio

La procedura seguente configura l'applicazione di test.

  1. Aprire una shell dei comandi e clonare uno degli esempi seguenti:

    Per il driver Java versione 3 e la versione spring corrispondente:

    git clone https://github.com/Azure-Samples/spring-data-cassandra-on-azure-extension-v3.git
    

    Per il driver Java versione 4 e la versione spring corrispondente:

    git clone https://github.com/Azure-Samples/spring-data-cassandra-on-azure-extension-v4.git
    

    Note

    Anche se l'utilizzo descritto di seguito è identico per gli esempi java versione 3 e versione 4 precedenti, il modo in cui sono stati implementati per includere criteri di ripetizione dei tentativi e di bilanciamento del carico personalizzati è diverso. È consigliabile esaminare il codice per comprendere come implementare criteri personalizzati se si apportano modifiche a un'applicazione Spring Java esistente.

  2. Individuare il file application.properties nella directory resources del progetto di esempio oppure creare il file se non esiste già.

  3. Aprire il file application.properties in un editor di testo e aggiungere o configurare le righe seguenti nel file, sostituendo i valori di esempio con i valori appropriati dei passaggi precedenti:

    spring.data.cassandra.contact-points=<Account Name>.cassandra.cosmos.azure.com
    spring.data.cassandra.port=10350
    spring.data.cassandra.username=<Account Name>
    spring.data.cassandra.password=********
    

    Dove:

    Parametro Descrizione
    spring.data.cassandra.contact-points Specifica il valore di Punto di contatto copiato in precedenza in questo articolo.
    spring.data.cassandra.port Specifica il valore di Porta copiato in precedenza in questo articolo.
    spring.data.cassandra.username Specifica il valore di Nome utente copiato in precedenza in questo articolo.
    spring.data.cassandra.password Specifica il valore di Password primaria copiato in precedenza in questo articolo.
  4. Salvare e chiudere il file application.properties.

Creare il pacchetto dell'applicazione di esempio e testarla

Passare alla directory che contiene il file con estensione POM per compilare e testare l'applicazione.

  1. Compilare l'applicazione di esempio con Maven. Ad esempio:

    mvn clean package
    
  2. Avviare l'applicazione di esempio. Ad esempio:

    java -jar target/spring-data-cassandra-on-azure-0.1.0-SNAPSHOT.jar
    
  3. Creare nuovi record usando curl al prompt dei comandi come negli esempi seguenti:

    curl -s -d "{\"name\":\"dog\",\"species\":\"canine\"}" -H "Content-Type: application/json" -X POST http://localhost:8080/pets
    
    curl -s -d "{\"name\":\"cat\",\"species\":\"feline\"}" -H "Content-Type: application/json" -X POST http://localhost:8080/pets
    

    L'applicazione dovrebbe restituire valori come i seguenti:

    Added Pet{id=60fa8cb0-0423-11e9-9a70-39311962166b, name='dog', species='canine'}.
    
    Added Pet{id=72c1c9e0-0423-11e9-9a70-39311962166b, name='cat', species='feline'}.
    
  4. Recuperare tutti i record esistenti usando curl al prompt dei comandi come negli esempi seguenti:

    curl -s http://localhost:8080/pets
    

    L'applicazione dovrebbe restituire valori come i seguenti:

    [{"id":"60fa8cb0-0423-11e9-9a70-39311962166b","name":"dog","species":"canine"},{"id":"72c1c9e0-0423-11e9-9a70-39311962166b","name":"cat","species":"feline"}]
    

Pulire le risorse

Dopo aver completato le operazioni con l'app e l'account Azure Cosmos DB, è possibile eliminare le risorse di Azure create in modo da non incorrere in altri costi. Per eliminare le risorse:

  1. Nella barra di ricerca del portale di Azure cercare e selezionare Gruppi di risorse.

  2. Selezionare nell'elenco il gruppo di risorse creato in questa guida di avvio rapido.

    Selezionare il gruppo di risorse da eliminare

  3. Nella pagina Panoramica del gruppo di risorse selezionare Elimina gruppo di risorse.

    Eliminare il gruppo di risorse.

  4. Nella finestra successiva immettere il nome del gruppo di risorse da eliminare e quindi selezionare Elimina.

Passaggi successivi

Per altre informazioni su Spring e Azure, passare al centro di documentazione di Spring in Azure.

Risorse aggiuntive

Per altre informazioni sull'uso di Azure con Java, vedere Azure per sviluppatori Java e la documentazione relativa all'uso di Azure DevOps e Java.