Azure Cosmos DB: Creare un'app console API MongoDB con Java e il portale di AzureAzure Cosmos DB: Build a MongoDB API console app with Java and the Azure portal

Azure Cosmos DB è il servizio di database di Microsoft multimodello distribuito a livello globale.Azure Cosmos DB is Microsoft’s globally distributed multi-model database service. È possibile creare ed eseguire rapidamente query su database di documenti, coppie chiave-valore e grafi, sfruttando in ognuno dei casi i vantaggi offerti dalle funzionalità di scalabilità orizzontale e distribuzione globale alla base di Azure Cosmos DB.You can quickly create and query document, key/value, and graph databases, all of which benefit from the global distribution and horizontal scale capabilities at the core of Azure Cosmos DB.

Questa guida introduttiva illustra come creare un account, un database di documenti e una raccolta API di MongoDB in Azure Cosmos DB con il portale di Azure.This quick start demonstrates how to create an Azure Cosmos DB MongoDB API account, document database, and collection using the Azure portal. Si creerà e distribuirà quindi un'app console basata sul driver Java MongoDB.You'll then build and deploy a console app built on the MongoDB Java driver.

prerequisitiPrerequisites

Prima di poter eseguire questo esempio, è necessario soddisfare i prerequisiti seguenti:Before you can run this sample, you must have the following prerequisites:

  • JDK 1.7+ (eseguire apt-get install default-jdk se JDK non è disponibile)JDK 1.7+ (Run apt-get install default-jdk if you don't have JDK)
  • Maven (eseguire apt-get install maven se Maven non è disponibile)Maven (Run apt-get install maven if you don't have Maven)

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.If you don't have an Azure subscription, create a free account before you begin.

In alternativa, è possibile provare gratuitamente Microsoft Azure Cosmos DB senza una sottoscrizione di Azure e senza impegnoAlternatively, you can Try Azure Cosmos DB for free without an Azure subscription, free of charge and commitments. oppure usare l'emulatore Azure Cosmos DB per questa esercitazione, con la stringa di connessione seguente:Or you can use the Azure Cosmos DB Emulator for this tutorial with a connection string of

mongodb://localhost:C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@localhost:10255/admin?ssl=true

Creare un account di databaseCreate a database account

  1. In una nuova finestra accedere al portale di Azure.In a new window, sign in to the Azure portal.
  2. Nel menu a sinistra fare clic su Crea una risorsa, quindi su Database e infine in Azure Cosmos DB fare clic su Crea.In the left menu, click Create a resource, click Databases, and then under Azure Cosmos DB, click Create.

    Screenshot del portale di Azure in cui sono evidenziati Altri servizi e Azure Cosmos DB

  3. Nel pannello Nuovo account specificare MongoDB per l'API e immettere le informazioni relative alla configurazione desiderata per l'account Azure Cosmos DB.In the New account blade, specify MongoDB as the API and fill out your desired configuration for the Azure Cosmos DB account.

    • ID deve essere un nome univoco da usare per identificare l'account Azure Cosmos DB.ID must be a unique name you wish to use to identify your Azure Cosmos DB account. Può contenere solo lettere minuscole, numeri, il carattere "-" e deve essere compreso fra 3 e 50 caratteri.It may only contain lower case letters, numbers, the '-' character, and must be between 3 and 50 characters.
    • Sottoscrizione è la sottoscrizione di AzureSubscription is your Azure subscription. e viene compilata automaticamente.It will be filled out for you.
    • Gruppo di risorse è il nome del gruppo di risorse per l'account Azure Cosmos DB.Resource Group is the resource group name for your Azure Cosmos DB account. Selezionare Crea nuovo, quindi immettere il nome di un nuovo gruppo di risorse per l'account.Select Create New, 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.
    • Percorso è la posizione geografica in cui si trova l'istanza di Azure Cosmos DB.Location is the geographic location where your Azure Cosmos DB instance is located. Scegliere la località più vicina agli utenti.Choose the location closest to your users.

      Fare quindi clic su Crea.Then click Create.

      Pagina del nuovo account per Azure Cosmos DB

  4. La creazione dell'account richiede alcuni minuti,The account creation takes a few minutes. Attendere che nel portale venga visualizzata la pagina Complimenti, L'account Azure Cosmos DB con l'API MongoDB è pronto.Wait for the portal to display the Congratulations! Your Azure Cosmos DB account with MongoDB API is ready page.

    Riquadro Notifiche del portale di Azure

Aggiungere una raccoltaAdd a collection

Assegnare un nome al nuovo database, db, e alla nuova raccolta, coll.Name your new database, db, and your new collection, coll.

È ora possibile usare lo strumento Esplora dati nel portale di Azure per creare un database e una raccolta.You can now use the Data Explorer tool in the Azure portal to create a database and collection.

  1. Fare clic su Esplora dati > Nuova raccolta.Click Data Explorer > New Collection.

    A destra verrà visualizzata l'area Aggiungi raccolta. Per vederla potrebbe essere necessario scorrere verso destra.The Add Collection area is displayed on the far right, you may need to scroll right to see it.

    Esplora dati nel portale di Azure: pannello Aggiungi raccolta

  2. Nella pagina Aggiungi raccolta immettere le impostazioni per la nuova raccolta.In the Add collection page, enter the settings for the new collection.

    ImpostazioneSetting Valore consigliatoSuggested value DESCRIZIONEDescription
    ID databaseDatabase id AttivitàTasks Immettere Tasks come nome del nuovo database.Enter Tasks as the name for the new database. I nomi dei database devono avere una lunghezza compresa tra 1 e 255 caratteri e non possono contenere /, \, #, ? o spazi finali.Database names must contain from 1 through 255 characters, and they cannot contain /, \, #, ?, or a trailing space.
    ID raccoltaCollection id ItemsItems Immettere Items come nome della nuova raccolta.Enter Items as the name for your new collection. Gli ID delle raccolte prevedono gli stessi requisiti relativi ai caratteri dei nomi di database.Collection ids have the same character requirements as database names.
    Capacità di archiviazioneStorage capacity Fissa (10 GB)Fixed (10 GB) Usare il valore predefinito Fissa (10 GB).Use the default value of Fixed (10 GB). Questo valore indica la capacità di archiviazione del database.This value is the storage capacity of the database.
    Velocità effettivaThroughput 400 UR400 RU Modificare la velocità effettiva in 400 unità richiesta al secondo (UR/sec).Change the throughput to 400 request units per second (RU/s). La capacità di archiviazione deve essere impostata su Fisso (10 GB) per impostare la velocità effettiva su 400 UR/sec.Storage capacity must be set to Fixed (10 GB) in order to set throughput to 400 RU/s. Se si vuole ridurre la latenza, è possibile aumentare la velocità effettiva in un secondo momento.If you want to reduce latency, you can scale up the throughput later.

    Oltre alle impostazioni precedenti, è possibile aggiungere Chiavi univoche per la raccolta.In addition to the preceding settings, you can optionally add Unique keys for the collection. In questo esempio il campo viene lasciato vuoto.Let's leave the field empty in this example. Le chiavi univoche consentono agli sviluppatori di aggiungere un livello di integrità dei dati nel database.Unique keys provide developers with the ability to add a layer of data integrity to the database. Se si definiscono criteri di chiave univoca durante la creazione di una raccolta, si ha la sicurezza che uno o più valori siano univoci per ogni chiave di partizione.By creating a unique key policy while creating a collection, you ensure the uniqueness of one or more values per partition key. Per altre informazioni, vedere l'articolo Chiavi univoche in Azure Cosmos DB.To learn more, refer to the Unique keys in Azure Cosmos DB article.

    Fare clic su OK.Click OK.

    In Esplora dati verranno visualizzati il nuovo database e la nuova raccolta.Data Explorer displays the new database and collection.

    Esplora dati nel portale di Azure, con il nuovo database e la nuova raccolta

Clonare l'applicazione di esempioClone the sample application

Clonare ora un'app per le API MongoDB da GitHub, impostare la stringa di connessione ed eseguirla.Now let's clone a MongoDB API app from github, set the connection string, and run it. Come si noterà, è facile usare i dati a livello di codice.You'll see how easy it is to work with data programmatically.

  1. Aprire un prompt dei comandi, creare una nuova cartella denominata git-samples e quindi chiudere il prompt dei comandi.Open a command prompt, create a new folder named git-samples, then close the command prompt.

    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.Open a git terminal window, such as git bash, and use the cd command to change to the new folder to install the sample app.

    cd "C:\git-samples"
    
  3. Eseguire il comando seguente per clonare l'archivio di esempio.Run the following command to clone the sample repository. Questo comando crea una copia dell'app di esempio nel computer in uso.This command creates a copy of the sample app on your computer.

    git clone https://github.com/Azure-Samples/azure-cosmos-db-mongodb-java-getting-started.git
    
  4. Aprire quindi il codice nell'editor preferito.Then open the code in your favorite editor.

Esaminare il codiceReview the code

Questo passaggio è facoltativo.This step is optional. Per scoprire in che modo le risorse del database vengono create nel codice, è possibile esaminare i frammenti di codice seguenti.If you're interested in learning how the database resources are created in the code, you can review the following snippets. In alternativa, è possibile passare ad Aggiornare la stringa di connessione.Otherwise, you can skip ahead to Update your connection string.

Tutti i frammenti di codice seguenti sono tratti dal file Program.java.The following snippets are all taken from the Program.java file.

  • Viene inizializzato DocumentClient.The DocumentClient is initialized.

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

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

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

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

Aggiornare la stringa di connessioneUpdate your connection string

Tornare ora al portale di Azure per recuperare le informazioni sulla stringa di connessione e copiarle nell'app.Now go back to the Azure portal to get your connection string information and copy it into the app.

  1. Dall'account, selezionare Avvio rapido, selezionare Java e quindi copiare la stringa di connessione negli AppuntiFrom the Account, select Quick Start, select Java, then copy the connection string to your clipboard

  2. Aprire il file Program.java, sostituire l'argomento del costruttore MongoClientURI con la stringa di connessione.Open the Program.java file, replace the argument to the MongoClientURI constructor with the connection string. L'app è stata aggiornata con tutte le informazioni necessarie per comunicare con Azure Cosmos DB.You've now updated your app with all the info it needs to communicate with Azure Cosmos DB.

Eseguire l'app consoleRun the console app

  1. Eseguire mvn package in un terminale per installare i moduli npm necessariRun mvn package in a terminal to install required npm modules

  2. Eseguire mvn exec:java -D exec.mainClass=GetStarted.Program in un terminale per avviare l'applicazione Java.Run mvn exec:java -D exec.mainClass=GetStarted.Program in a terminal to start your Java application.

È ora possibile usare Robomongo / Studio 3T per modificare e usare i nuovi dati, nonché eseguire query su di essi.You can now use Robomongo / Studio 3T to query, modify, and work with this new data.

Esaminare i contratti di servizio nel portale di AzureReview SLAs in the Azure portal

La velocità effettiva, lo spazio di archiviazione, la disponibilità, la latenza e la coerenza delle risorse nell'account vengono monitorati nel portale di Azure.The throughput, storage, availability, latency, and consistency of the resources in your account are monitored in the Azure portal. Di seguito vengono illustrate brevemente queste metriche.Let's take a quick look at these metrics.

  1. Fare clic su Metriche nel menu di spostamento.Click Metrics in the navigation menu.

    Metriche nel portale di Azure

  2. Fare clic su ogni scheda per conoscere le metriche offerte da Azure Cosmos DB.Click through each of the tabs so you're aware of the metrics Azure Cosmos DB provides.

    Ogni grafico associato ai contratti di servizio per Azure Cosmos DB contiene una linea che indica le eventuali violazioni dei contratti di servizio.Each chart that's associated with the Azure Cosmos DB Service Level Agreements (SLAs) provides a line that shows if any of the SLAs have been violated. Con questo gruppo di metriche, Azure Cosmos DB garantisce trasparenza nel monitoraggio dei contratti di servizio.Azure Cosmos DB makes monitoring your SLAs transparent with this suite of metrics.

    Gruppo di metriche di Azure Cosmos DB

Pulire le risorseClean up resources

Se non si intende continuare a usare l'app, eliminare tutte le risorse create tramite questa guida di avvio rapido eseguendo i passaggi seguenti, per evitare qualsiasi addebito:If you're not going to continue to use this app, delete all resources created by this quickstart with the following steps so you don't incur any charges:

  1. Nel portale di Azure selezionare Gruppi di risorse all'estrema sinistra e quindi selezionare il gruppo di risorse creato.In the Azure portal, select Resource groups on the far left, and then select the resource group you created.

    Se il menu a sinistra è compresso, fare clic sulIf the left menu is collapsed, click pulsante Espandi per espanderlo.to expand it.

    Metriche nel portale di Azure

  2. Nella nuova finestra selezionare il gruppo di risorse e quindi fare clic su Elimina gruppo di risorse.In the new window select the resource group, and then click Delete resource group.

    Metriche nel portale di Azure

  3. Nella nuova finestra digitare il nome del gruppo di risorse da eliminare e quindi fare clic su Elimina.In the new window, type the name of the resource group to delete, and then click Delete.

Passaggi successiviNext steps

In questa guida di avvio rapido si è appreso come creare un account Azure Cosmos DB, come creare una raccolta con Esplora dati e come eseguire un'app console.In this quickstart, you've learned how to create an Azure Cosmos DB account, create a collection using the Data Explorer, and run a console app. È ora possibile importare dati aggiuntivi nell'account Cosmos DB.You can now import additional data to your Cosmos DB account.