Condividi tramite


Guida introduttiva: Creare un'app console con Java e Azure Cosmos DB per MongoDB

SI APPLICA A: MongoDB

In questa guida introduttiva si crea e si gestisce un account Azure Cosmos DB per MongoDB dall'portale di Azure e si aggiungono dati usando un'app Java SDK clonata da GitHub. Azure Cosmos DB è un servizio di database modello che consente di creare ed eseguire rapidamente query su database di documenti, tabelle, valori chiave e grafi, con funzionalità di scalabilità orizzontale e distribuzione globale.

Prerequisiti

Creare un account di database



  1. In una nuova finestra del browser accedere al portale di Azure.

  2. Nel menu a sinistra selezionare Crea una risorsa.

    Screenshot della creazione di una risorsa nella portale di Azure.

  3. Nella pagina Nuovo selezionare Database>Azure Cosmos DB.

    Screenshot del riquadro Database portale di Azure.

  4. Nella pagina Seleziona l'opzione API page, selezionare Azure Cosmos DB for MongoDB>Crea.

    L'API determina il tipo di account da creare. Selezionare Azure Cosmos DB for MongoDB perché in questo argomento di avvio rapido verrà creata una raccolta che funziona con MongoDB. Per altre informazioni, vedere Panoramica di Azure Cosmos DB for MongoDB.

    Screenshot del riquadro Selezionare l'opzione API.

  5. Nella pagina Crea account Azure Cosmos DB immettere le impostazioni per il nuovo account Azure Cosmos DB.

    Impostazione valore Descrizione
    Abbonamento Nome della sottoscrizione Selezionare la sottoscrizione di Azure da usare per l'account Azure Cosmos DB.
    Gruppo di risorse Nome gruppo di risorse Selezionare un gruppo di risorse oppure fare clic su Crea nuovo, quindi immettere un nome univoco per il nuovo gruppo di risorse.
    Nome conto Immettere un nome univoco Immettere un nome univoco per identificare l'account Azure Cosmos DB. L'URI dell'account sarà mongo.cosmos.azure.com e verrà 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 44 caratteri.
    Ufficio Area più vicina ai propri 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 capacità Velocità effettiva con provisioning o Serverless Selezionare Provisioning velocità effettiva per creare un account in modalità Provisioning velocità effettiva. Selezionare Serverless per creare un account in modalità Serverless.

    Nota: solo le versioni 4.2, 4.0 e 3.6 dell'API per MongoDB sono supportate dagli account serverless. Se si sceglie la versione 3.2, l'account verrà forzato in modalità Provisioning velocità effettiva.
    Applicare lo sconto in base al livello gratuito di Azure Cosmos DB Applicare o non applicare Il livello gratuito di Azure Cosmos DB offre i primi 1000 UR/s e 25 GB di spazio di archiviazione gratuiti per account. Altre informazioni sul livello gratuito.
    Versione Scegliere la versione del server necessaria Azure Cosmos DB for MongoDB è compatibile con le versioni del server 4.2, 4.0, 3.6 e 3.2. È possibile eseguire l'aggiornamento o il downgrade di un account dopo che è stato creato.

    Nota

    È possibile avere fino a un account Azure Cosmos DB del livello gratuito per ogni sottoscrizione di Azure ed è necessario acconsentire esplicitamente durante la creazione dell'account. Se l'opzione per l'applicazione dello sconto per il livello gratuito non è visualizzata, un altro account nella sottoscrizione è già stato abilitato per il livello gratuito.

    Screenshot della pagina del nuovo account per Azure Cosmos DB.

  6. Nella scheda Distribuzione globale configurare i dettagli seguenti. Ai fini di questa guida introduttiva è possibile lasciare i valori predefiniti:

    Impostazione valore Descrizione
    Ridondanza geografica Disabilita 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 Disabilita 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.

    Nota

    Le opzioni seguenti non sono disponibili se si seleziona Serverless come modalità di capacità:

    • Applica sconto livello gratuito
    • Ridondanza geografica
    • Scritture in più aree
  7. Facoltativamente, è possibile configurare i dettagli aggiuntivi nelle schede seguenti:

    • Rete: consente di configurare l'accesso da una rete virtuale.
    • Criteri di backup: consente di configurare i criteri di backup periodici o continui.
    • Crittografia: consente di usare una chiave gestita dal servizio o una chiave gestita dal cliente.
    • Tag: i tag sono coppie nome-valore che consentono di classificare le risorse e visualizzare dati di fatturazione consolidati tramite l'applicazione dello stesso tag a più risorse e gruppi di risorse.
  8. Selezionare Rivedi e crea.

  9. La creazione dell'account richiede alcuni minuti. Attendere che nel portale venga visualizzata la pagina Complimenti, l'account di Azure Cosmos DB for MongoDB è pronto.

    Screenshot del riquadro Notifiche nel portale di Azure.

Aggiungere una raccolta

Assegnare un nome al nuovo database db e alla nuova raccolta coll.

È ora possibile usare lo strumento Esplora dati nel portale di Azure per creare un’API di Azure Cosmos DB per un database e un contenitore MongoDB.

  1. Selezionare Esplora dati>Nuovo contenitore.

    A destra viene visualizzata l'area Aggiungi contenitore. Per vederla potrebbe essere necessario scorrere verso destra.

    Esplora dati nel portale di Azure, riquadro Aggiungi contenitore

  2. Nella pagina Aggiungi contenitore immettere le impostazioni per il nuovo contenitore.

    Impostazione Valore suggerito Descrizione
    ID database db Immettere db come nome del nuovo database. I nomi dei database devono avere una lunghezza compresa tra 1 e 255 caratteri e non possono contenere /, \\, #, ? o spazi finali. Selezionare l'opzione Provision database throughput (Provisioning delle unità di elaborazione del database) che consente di condividere le unità di elaborazione del database con tra tutti i contenitori al suo interno. Questa opzione permette anche di risparmiare sui costi.
    Velocità effettiva 400 Lasciare il numero di unità elaborate impostato su 400 unità richieste al secondo (UR/s). Se si vuole ridurre la latenza, è possibile aumentare la velocità effettiva in un secondo momento. È anche possibile scegliere la modalità di scalabilità automatica, che fornirà un intervallo di UR/s che aumenterà e diminuirà in modo dinamico in base alle esigenze.
    ID raccolta coll Immettere coll come nome per il nuovo contenitore. Gli ID contenitore prevedono gli stessi requisiti relativi ai caratteri dei nomi di database.
    Capacità di archiviazione Fisso (10 GB) Immettere Fisso (10 GB) per questa applicazione. Se si seleziona Illimitati, sarà necessario creare una Shard Key che verrà richiesta da tutti gli elementi inseriti.
    Chiave di partizione /_id L'esempio descritto in questo articolo non usa una chiave di partizione, quindi l’impostazione su /_id comporterà l’uso del campo ID generato automaticamente come chiave di partizione. Per altre informazioni sul partizionamento, vedere Partizionamento in Azure Cosmos DB

    Seleziona OK. In Esplora dati vengono visualizzati il nuovo database e il nuovo contenitore.

Clonare l'applicazione di esempio

Clonare ora un'app da GitHub, impostare la stringa di connessione ed eseguirla. Come si noterà, è facile usare i dati a livello di codice.

  1. Aprire un prompt dei comandi, creare una nuova cartella denominata git-samples e quindi chiudere il prompt dei comandi.

    md "C:\git-samples"
    
  2. Aprire una finestra del terminale Git, ad esempio Git Bash, ed eseguire il comando cd per passare a una nuova cartella in cui installare l'app di esempio.

    cd "C:\git-samples"
    
  3. Eseguire il comando seguente per clonare l'archivio di esempio. Questo comando crea una copia dell'app di esempio nel computer in uso.

    git clone https://github.com/Azure-Samples/azure-cosmos-db-mongodb-java-getting-started.git
    
  4. Aprire quindi il codice nell'editor preferito.

Esaminare il codice

Questo passaggio è facoltativo. Per scoprire in che modo le risorse del database vengono create nel codice, è possibile esaminare i frammenti di codice seguenti. In alternativa, è possibile passare ad Aggiornare la stringa di connessione.

Tutti i frammenti di codice seguenti sono tratti dal file Program.java.

Questa console usa il driver Java di MongoDB.

  • Viene inizializzato DocumentClient.

    MongoClientURI uri = new MongoClientURI("FILLME");`
    
    MongoClient mongoClient = new MongoClient(uri);            
    
  • Vengono creati un nuovo database e una nuova raccolta.

    MongoDatabase database = mongoClient.getDatabase("db");
    
    MongoCollection<Document> collection = database.getCollection("coll");
    
  • Vengono inseriti alcuni documenti usando MongoCollection.insertOne

    Document document = new Document("fruit", "apple")
    collection.insertOne(document);
    
  • Vengono eseguite alcune query usando MongoCollection.find

    Document queryResult = collection.find(Filters.eq("fruit", "apple")).first();
    System.out.println(queryResult.toJson());    	
    

Aggiornare la stringa di connessione

Tornare ora al portale di Azure per recuperare le informazioni sulla stringa di connessione e copiarle nell'app.

  1. Nell'account di Azure Cosmos DB selezionare Avvio rapido, Java e quindi copiare la stringa di connessione negli Appunti.

  2. Aprire il file Program.java, sostituire l'argomento del costruttore MongoClientURI con la stringa di connessione. L'app è stata aggiornata con tutte le informazioni necessarie per comunicare con Azure Cosmos DB.

Eseguire l'app console

  1. Eseguire mvn package in un terminale per installare i pacchetti necessari

  2. Eseguire mvn exec:java -D exec.mainClass=GetStarted.Program in un terminale per avviare l'applicazione Java.

È ora possibile usare Robomongo / Studio 3T per modificare e usare i nuovi dati, nonché eseguire query su di essi.

Esaminare i contratti di servizio nel portale di Azure

Il portale di Azure monitora la velocità effettiva dell'account Azure Cosmos DB, l'archiviazione, la disponibilità, la latenza e la coerenza. I grafici per le metriche associate a un contratto di servizio di Azure Cosmos DB indicano il valore previsto dal contratto di servizio rispetto alle prestazioni effettive. Questo gruppo di metriche garantisce la trasparenza nel monitoraggio dei contratti di servizio.

Per esaminare le metriche e i contratti di servizio:

  1. Selezionare Metriche nel menu di spostamento dell'account Azure Cosmos DB.

  2. Selezionare una scheda, ad esempio Latenza, e quindi un intervallo di tempo sulla destra. Confrontare le righe relative ai valori effettivi e ai valori del contratto di servizio nei grafici.

    Gruppo di metriche di Azure Cosmos DB

  3. Esaminare le metriche nelle altre schede.

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

In questo argomento di avvio rapido si è appreso come creare un account Azure Cosmos DB for MongoDB, aggiungere un database e un contenitore usando Esplora dati e aggiungere dati usando un'app console Java. È ora possibile importare dati aggiuntivi nel database Azure Cosmos DB.

Si sta tentando di pianificare la capacità per una migrazione ad Azure Cosmos DB? È possibile usare le informazioni del cluster di database esistente per la pianificazione della capacità.