Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze quickstart implementeert u een eenvoudige Azure Cosmos DB for Table-toepassing met behulp van de Azure SDK voor Java. Azure Cosmos DB for Table is een schemaloos gegevensarchief waarmee toepassingen gestructureerde tabelgegevens in de cloud kunnen opslaan. U leert hoe u tabellen, rijen maakt en basistaken uitvoert in uw Azure Cosmos DB-resource met behulp van de Azure SDK voor Java.
API-referentiedocumentatie | Bibliotheek broncode | Pakket (Maven) | Azure Developer CLI
Prerequisites
- Azure Developer CLI
- Docker Desktop
- Java 21
Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.
Het project initialiseren
Gebruik de Azure Developer CLI (azd) om een Azure Cosmos DB for Table-account te maken en een in een container geplaatste voorbeeldtoepassing te implementeren. De voorbeeldtoepassing maakt gebruik van de clientbibliotheek voor het beheren, maken, lezen en opvragen van voorbeeldgegevens.
Open een terminal in een lege map.
Als u nog niet bent geverifieerd, moet u zich verifiëren bij de Azure Developer CLI met behulp van
azd auth login. Volg de stappen die door het hulpprogramma zijn opgegeven om te verifiëren bij de CLI met behulp van uw favoriete Azure-referenties.azd auth loginGebruik
azd initom het project te initialiseren.azd init --template cosmos-db-table-java-quickstartConfigureer tijdens de initialisatie een unieke omgevingsnaam.
Implementeer het Azure Cosmos DB-account met behulp van
azd up. De Bicep-sjablonen implementeren ook een voorbeeldwebtoepassing.azd upSelecteer tijdens het inrichtingsproces uw abonnement, gewenste locatie en doelresourcegroep. Wacht tot het provisioneringsproces is voltooid. Het proces kan ongeveer vijf minuten duren.
Zodra het inrichten van uw Azure-resources is voltooid, wordt er een URL naar de actieve webtoepassing opgenomen in de uitvoer.
Deploying services (azd deploy) (✓) Done: Deploying service web - Endpoint: <https://[container-app-sub-domain].azurecontainerapps.io> SUCCESS: Your application was provisioned and deployed to Azure in 5 minutes 0 seconds.Gebruik de URL in de console om naar uw webtoepassing in de browser te navigeren. Bekijk de uitvoer van de actieve app.
De clientbibliotheek installeren
De clientbibliotheek is beschikbaar via Maven, als pakket azure-data-tables .
Navigeer naar de
/src/webmap en open het pom.xml-bestand .cd ./srcAls deze nog niet bestaat, voegt u een vermelding voor het
azure-data-tablespakket toe.<dependency> <groupId>com.azure</groupId> <artifactId>azure-data-tables</artifactId> </dependency>
Bibliotheken importeren
Importeer alle vereiste naamruimten in uw toepassingscode.
import com.azure.core.http.rest.PagedFlux;
import com.azure.data.tables.TableAsyncClient;
import com.azure.data.tables.TableClientBuilder;
import com.azure.data.tables.models.ListEntitiesOptions;
import com.azure.data.tables.models.TableEntity;
import com.azure.identity.DefaultAzureCredential;
import com.azure.identity.DefaultAzureCredentialBuilder;
Objectmodel
| Name | Description |
|---|---|
TableServiceAsyncClient |
Dit type is het primaire clienttype en wordt gebruikt voor het beheren van metagegevens of databases voor het hele account. |
TableAsyncClient |
Dit type vertegenwoordigt de client voor een tabel binnen het account. |
Codevoorbeelden
De voorbeeldcode in de sjabloon maakt gebruik van een tabel met de naam cosmicworks-products. De cosmicworks-products tabel bevat details zoals naam, categorie, hoeveelheid, prijs, een unieke id en een verkoopvlag voor elk product. De container gebruikt een unieke id* als rijsleutel en categorie als partitiesleutel.
De client verifiëren
In dit voorbeeld wordt een nieuw exemplaar van de TableServiceAsyncClient klasse gemaakt.
DefaultAzureCredential azureTokenCredential = new DefaultAzureCredentialBuilder()
.build();
TableServiceAsyncClient client = new TableServiceClientBuilder()
.endpoint("<azure-cosmos-db-table-account-endpoint>")
.credential(credential)
.buildAsyncClient();
Een tabel ophalen
In dit voorbeeld wordt een exemplaar van de TableAsyncClient klasse gemaakt met behulp van de GetTableClient methode van de TableServiceClient klasse.
TableAsyncClient table = client
.getTableClient("<azure-cosmos-db-table-name>");
Een entiteit maken
De eenvoudigste manier om een nieuwe entiteit in een tabel te maken, is door te gebruiken createEntity.
String rowKey = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb";
String partitionKey = "gear-surf-surfboards";
TableEntity entity = new TableEntity(partitionKey, rowKey)
.addProperty("Name", "Yamba Surfboard")
.addProperty("Quantity", 12)
.addProperty("Price", 850.00)
.addProperty("Sale", false);
Maak een entiteit in de verzameling met behulp van upsertEntity.
Mono<Void> response = table.upsertEntity(entity);
Een entiteit ophalen
U kunt een specifieke entiteit ophalen uit een tabel met behulp van getEntity.
String rowKey = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb";
String partitionKey = "gear-surf-surfboards";
TableEntity entity = table.getEntity(partitionKey, rowKey);
Entiteiten opvragen
Nadat u een entiteit hebt ingevoegd, kunt u ook een query uitvoeren om alle entiteiten op te halen die overeenkomen met een specifiek filter met behulp van listEntities en de ListEntitiesOptions klasse. Gebruik de setFilter methode om een OData-filter voor tekenreeksen op te geven.
ListEntitiesOptions options = new ListEntitiesOptions()
.setFilter("PartitionKey eq 'gear-surf-surfboards'");
PagedFlux<TableEntity> tableEntities = table.listEntities(options, null, null);
Parseert de gepagineerde resultaten van de query met behulp van een abonnement.
tableEntities
.DoOnNext(entity -> {
// Do something
});
De hulpbronnen opschonen
Wanneer u de voorbeeldtoepassing of resources niet meer nodig hebt, verwijdert u de bijbehorende implementatie en alle resources.
azd down