Quickstart: Een Java-app bouwen om Azure Cosmos DB Table-API-gegevens te beheren

VAN TOEPASSING OP: Table-API

In deze snelstart maakt u een Azure Cosmos DB Table-API-account en gebruikt u Data Explorer en een Java-app die is gekloond van GitHub om tabellen en entiteiten te maken. Met Azure Cosmos DB, een databaseservice met meerdere modellen, kunt u snel databases met documenten, tabellen, sleutelwaarden en grafieken maken en hier query's op uitvoeren. Deze databases hebben wereldwijde distributie en horizontale schaalmogelijkheden.

Vereisten

Een databaseaccount maken

Belangrijk

U moet een nieuw Table-API-account maken om te kunnen werken met de algemeen beschikbare SDK's voor de Table-API. Table-API-accounts die zijn gemaakt tijdens de preview worden niet ondersteund door de algemeen beschikbare SDK's.

  1. Meld u in een nieuw browservenster aan bij Azure Portal.

  2. Selecteer Een resource maken in het menu aan de linkerkant.

    Een resource maken in de Azure-portal

  3. Selecteer op de pagina Nieuw Databases > Azure Cosmos DB.

    Het deelvenster Databases in de Azure-portal

  4. Voer op de pagina Azure Cosmos DB-account maken de instellingen in voor het nieuwe Azure Cosmos DB-account.

    Instelling Waarde Beschrijving
    Abonnement Uw abonnement Selecteer het Azure-abonnement dat u voor dit Azure Cosmos DB-account wilt gebruiken.
    Resourcegroep Nieuwe maken en vervolgens Accountnaam Selecteer Nieuw maken. Voer daarna een nieuwe resourcegroepnaam in voor het account. Gebruik dezelfde naam als uw Azure Cosmos DB-accountnaam om het uzelf gemakkelijk te maken.
    Accountnaam Een unieke naam Voer een unieke naam in om uw Azure Cosmos DB-account te identificeren.

    De accountnaam mag alleen kleine letters, cijfers en afbreekstreeken (-) gebruiken en moet tussen de 3 en 44 tekens lang zijn.
    API Tabel De API bepaalt het type te maken account. Azure Cosmos DB heeft vijf API's: Core(SQL) voor documentdatabases, Gremlin voor grafiekdatabases, MongoDB voor documentdatabases, Azure Table en Cassandra. U moet voor elke API een afzonderlijk account maken.

    Selecteer Azure Table, omdat u in deze snelstartgids een tabel maakt die geschikt is voor de Table-API.

    Meer informatie over de Table-API.
    Locatie De regio het dichtst bij uw gebruikers Selecteer een geografische locatie waar u het Azure Cosmos DB-account wilt hosten. Gebruik de locatie die zich het dichtst bij uw gebruikers bevindt, zodat ze de snelst mogelijke toegang tot de gegevens hebben.
    Capaciteitsmodus Ingerichte doorvoer of serverloos Selecteer Ingerichte doorvoer om een account te maken in de modus Ingerichte doorvoer. Selecteer Serverloos om een account te maken in de modus serverloos.

    U kunt de opties Geo-redundantie en Meerdere regio's schrijven in Uitschakelen laten om extra kosten te voorkomen, en de secties Netwerk en Tags overslaan.

  5. Selecteer Beoordelen en maken. Selecteer Maken om het account te maken nadat de validatie voltooid is.

    De pagina Nieuw account voor Azure Cosmos DB

  6. Het duurt een paar minuten om het account te maken. Er wordt een bericht weergegeven waarin staat dat Uw implementatie wordt uitgevoerd. Wacht tot de implementatie is voltooid en selecteer Ga naar resource.

    Het deelvenster Meldingen in de Azure-portal

Een tabel toevoegen

U kunt nu het hulpprogramma Data Explorer in Azure Portal gebruiken om een database en een tabel te maken.

  1. Selecteer Data Explorer > Nieuwe tabel.

    Helemaal rechts wordt het gebied Tabel toevoegen weergegeven. Mogelijk moet u naar rechts scrollen om het te zien.

    Data Explorer in de Azure Portal

  2. Geef op de pagina Tabel toevoegen de instellingen voor de nieuwe tabel op.

    Instelling Voorgestelde waarde Beschrijving
    Tabel-id voorbeeldtabel De id voor de nieuwe tabel. Voor tabelnamen gelden dezelfde tekenvereisten als voor database-id's. Databasenamen moeten tussen de 1 en 255 tekens zijn en mogen geen / \ # ? bevatten of eindigen op een spatie.
    Doorvoer 400 RU‘s Wijzig de doorvoer in 400 aanvraageenheden per seconde (RU/s). U kunt de doorvoer later opschalen als u de latentie wilt beperken.
  3. Selecteer OK.

  4. In Data Explorer worden de nieuwe database en tabel weergegeven.

    Data Explorer in Azure Portal, met de nieuwe database en tabel

Voorbeeldgegevens toevoegen

U kunt nu gegevens aan uw nieuwe tabel toevoegen met behulp van Data Explorer.

  1. Vouw in Data Explorer sample-table uit, selecteer Entiteiten en vervolgens Entiteit toevoegen.

    Nieuwe entiteiten maken in Data Explorer in Azure Portal

  2. Voeg nu gegevens toe aan de vakken met een waarde voor PartitionKey en RowKey en selecteer Entiteit toevoegen.

    De partitiesleutel en de rijsleutel instellen voor een nieuwe entiteit

    U kunt nu meer entiteiten toevoegen aan uw tabel, uw entiteiten bewerken of een query op uw gegevens uitvoeren in Data Explorer. Data Explorer is ook de plek waar u uw doorvoer kunt schalen en opgeslagen procedures, door de gebruiker gedefinieerde functies en triggers aan uw tabel kunt toevoegen.

De voorbeeldtoepassing klonen

We gaan nu een Table-app klonen vanaf GitHub, de verbindingsreeks instellen en de app uitvoeren. U zult zien hoe gemakkelijk het is om op een programmatische manier met gegevens te werken.

  1. Open een opdrachtprompt, maak een nieuwe map met de naam git-samples en sluit vervolgens de opdrachtprompt.

    md "C:\git-samples"
    
  2. Open een git-terminalvenster, bijvoorbeeld git bash, en gebruik de cd-opdracht om naar de nieuwe map te gaan voor het installeren van de voorbeeld-app.

    cd "C:\git-samples"
    
  3. Voer de volgende opdracht uit om de voorbeeldopslagplaats te klonen. Deze opdracht maakt een kopie van de voorbeeld-app op uw computer.

    git clone https://github.com/Azure-Samples/storage-table-java-getting-started.git 
    

Tip

Zie het artikel Voorbeeld van Cosmos DB Table-API voor een gedetailleerd overzicht van soortgelijke code.

De code bekijken

Deze stap is optioneel. Als u wilt weten hoe de databaseresources in de code worden gemaakt, kunt u de volgende codefragmenten bekijken. Als u deze stap wilt overslaan, kunt u verdergaan naar de sectie De verbindingsreeks bijwerken van dit document.

  • De volgende code laat zien hoe u een tabel maakt in de Azure Storage:

    private static CloudTable createTable(CloudTableClient tableClient, String tableName) throws StorageException, RuntimeException, IOException, InvalidKeyException,   IllegalArgumentException, URISyntaxException, IllegalStateException {
    
      // Create a new table
      CloudTable table = tableClient.getTableReference(tableName);
      try {
          if (table.createIfNotExists() == false) {
              throw new IllegalStateException(String.format("Table with name \"%s\" already exists.", tableName));
          }
      }
      catch (StorageException s) {
          if (s.getCause() instanceof java.net.ConnectException) {
              System.out.println("Caught connection exception from the client. If running with the default configuration please make sure you have started the storage emulator.");
          }
          throw s;
      }
    
      return table;
    }
    
  • De volgende code laat zien hoe u gegevens invoegt in de tabel:

    private static void batchInsertOfCustomerEntities(CloudTable table) throws StorageException {
    
    // Create the batch operation
    TableBatchOperation batchOperation1 = new TableBatchOperation();
    for (int i = 1; i <= 50; i++) {
        CustomerEntity entity = new CustomerEntity("Smith", String.format("%04d", i));
        entity.setEmail(String.format("smith%04d@contoso.com", i));
        entity.setHomePhoneNumber(String.format("425-555-%04d", i));
        entity.setWorkPhoneNumber(String.format("425-556-%04d", i));
        batchOperation1.insertOrMerge(entity);
    }
    
    // Execute the batch operation
    table.execute(batchOperation1);
    }
    
  • De volgende code laat zien hoe u gegevens uit de tabel opvraagt:

    private static void partitionScan(CloudTable table, String partitionKey) throws StorageException {
    
        // Create the partition scan query
        TableQuery<CustomerEntity> partitionScanQuery = TableQuery.from(CustomerEntity.class).where(
            (TableQuery.generateFilterCondition("PartitionKey", QueryComparisons.EQUAL, partitionKey)));
    
        // Iterate through the results
        for (CustomerEntity entity : table.execute(partitionScanQuery)) {
            System.out.println(String.format("\tCustomer: %s,%s\t%s\t%s\t%s", entity.getPartitionKey(), entity.getRowKey(), entity.getEmail(), entity.getHomePhoneNumber(), entity.  getWorkPhoneNumber()));
        }
    }
    
  • De volgende code laat zien hoe u gegevens uit de tabel verwijdert:

    
    System.out.print("\nDelete any tables that were created.");
    
    if (table1 != null && table1.deleteIfExists() == true) {
        System.out.println(String.format("\tSuccessfully deleted the table: %s", table1.getName()));
    }
    
    if (table2 != null && table2.deleteIfExists() == true) {
        System.out.println(String.format("\tSuccessfully deleted the table: %s", table2.getName()));
    }
    

Uw verbindingsreeks bijwerken

Ga nu terug naar Azure Portal om de verbindingsreeksinformatie op te halen en kopieer deze in de app. Hierdoor kan de app communiceren met de gehoste database.

  1. Selecteer in uw Azure Cosmos DB-account in de Azure-portal de optie Verbindingsreeks.

    De verbindingsreeks in het deelvenster Verbindingsreeks weergeven

  2. Kopieer de PRIMARY CONNECTION STRING met behulp van de knop Kopiëren aan de rechterkant.

  3. Open config.properties vanuit de map C:\git-samples\storage-table-java-getting-started\src\main\resources.

  4. De volgende stap is het uitcommentariëren van regel 1, waarna u het commentaar van regel 2 verwijdert. De eerste twee regels moeten er nu als volgt uitzien.

    #StorageConnectionString = UseDevelopmentStorage=true
    StorageConnectionString = DefaultEndpointsProtocol=https;AccountName=[ACCOUNTNAME];AccountKey=[ACCOUNTKEY]
    
  5. Plak de PRIMARY CONNECTION STRING vanuit de portal in de waarde StorageConnectionString in regel 2.

    Belangrijk

    Als uw eindpunt documents.azure.com gebruikt, hebt u een preview-account en moet u een nieuw Table-API-account maken om te kunnen werken met de algemeen beschikbare SDK voor Table- API.

  6. Sla het bestand config.properties op.

U hebt uw app nu bijgewerkt met alle informatie die nodig is voor de communicatie met Azure Cosmos DB.

De app uitvoeren

  1. cd in het git-terminalvenster naar de map storage-table-java-getting-started.

    cd "C:\git-samples\storage-table-java-getting-started"
    
  2. Voer in het git-terminalvenster de volgende opdrachten uit om de Java-toepassing uit te voeren.

    mvn compile exec:java 
    

    In het consolevenster worden de tabelgegevens weergegeven die worden toegevoegd aan de nieuwe tabeldatabase in Azure Cosmos DB.

    U kunt nu teruggaan naar Data Explorer en deze nieuwe gegevens bekijken, wijzigen, opvragen en ermee werken.

SLA’s bekijken in Azure Portal

De doorvoer, opslag, beschikbaarheid, latentie en consistentie van uw Cosmos DB-account worden in Azure Portal bewaakt. Grafieken voor metrische gegevens die zijn gekoppeld aan een Azure Cosmos DB Service Level Agreement (SLA) tonen de SLA-waarde in vergelijking met de werkelijke prestaties. Deze suite van metrische gegevens zorgt voor een transparante bewaking van uw SLA's.

Metrische gegevens en SLA's weergeven:

  1. Selecteer Metrische gegevens in het navigatiemenu van uw Cosmos DB-account.

  2. Selecteer een tabblad, bijvoorbeeld Latentie, en selecteer aan de rechterkant een tijdsbestek. Vergelijk de lijnen Werkelijk en SLA in de grafieken met elkaar.

    Azure Cosmos DB-pakket met metrische gegevens

  3. Bekijk de metrische gegevens op de andere tabbladen.

Resources opschonen

Wanneer u uw app en Azure Cosmos DB-account niet meer nodig hebt, kunt u de Azure-resources die u hebt gemaakt, verwijderen zodat er geen kosten meer voor in rekening worden gebracht. Om de resources te verwijderen:

  1. Zoek en selecteer Resourcegroepen in de zoekbalk op Azure Portal.

  2. Selecteer de resourcegroep die u eerder voor deze quickstart hebt gemaakt uit de lijst.

    Resourcegroep selecteren die moet worden verwijderd

  3. Selecteer Resourcegroep verwijderen op de pagina Overzicht van de resourcegroep.

    De resourcegroep verwijderen

  4. Selecteer in het volgende venster de naam van de resourcegroep die u wilt verwijderen en selecteer vervolgens Verwijderen.

Volgende stappen

In deze snelstart hebt u geleerd hoe u een Azure Cosmos DB-account kunt maken, hoe u een tabel kunt maken met de Data Explorer en hoe u een Java-app uitvoert om tabelgegevens toe te voegen. Nu kunt u een query uitvoeren op uw gegevens met de Table-API.