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
- Un account Azure con una sottoscrizione attiva. Crearne una gratuitamente. In alternativa, è possibile provare gratuitamente Azure Cosmos DB senza una sottoscrizione di Azure. È anche possibile usare l'Emulatore di Azure Cosmos DB con la stringa di connessione
.mongodb://localhost:C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@localhost:10255/admin?ssl=true
. - Java Development Kit (JDK) versione 8.
- Maven. In alternativa, eseguire
apt-get install maven
per installare Maven. - Git.
Creare un account di database
In una nuova finestra del browser accedere al portale di Azure.
Nel menu a sinistra selezionare Crea una risorsa.
Nella pagina Nuovo selezionare Database>Azure Cosmos DB.
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.
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.
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
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.
Selezionare Rivedi e crea.
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.
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.
Selezionare Esplora dati>Nuovo contenitore.
A destra viene visualizzata l'area Aggiungi contenitore. Per vederla potrebbe essere necessario scorrere verso destra.
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.
Aprire un prompt dei comandi, creare una nuova cartella denominata git-samples e quindi chiudere il prompt dei comandi.
md "C:\git-samples"
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"
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
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.
Nell'account di Azure Cosmos DB selezionare Avvio rapido, Java e quindi copiare la stringa di connessione negli Appunti.
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
Eseguire
mvn package
in un terminale per installare i pacchetti necessariEseguire
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:
Selezionare Metriche nel menu di spostamento dell'account Azure Cosmos DB.
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.
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:
Nella barra di ricerca del portale di Azure cercare e selezionare Gruppi di risorse.
Selezionare nell'elenco il gruppo di risorse creato in questa guida di avvio rapido.
Nella pagina Panoramica del gruppo di risorse selezionare Elimina gruppo di risorse.
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à.
- Se si conosce solo il numero di vcore e server nel cluster di database esistente, leggere le informazioni sulla stima delle unità richieste usando vCore o vCPU
- Se si conosce la frequenza delle richieste tipiche per il carico di lavoro corrente del database, leggere le informazioni sulla stima delle unità richieste con lo strumento di pianificazione della capacità di Azure Cosmos DB