Azure Cosmos DB for NoSQL: Java SDK v4-voorbeelden
VAN TOEPASSING OP: NoSQL
Belangrijk
Zie voor meer informatie over Java SDK v4 de opmerkingen bij de release van Azure Cosmos DB Java SDK v4, de Maven-opslagplaats, prestatietips voor Azure Cosmos DB Java SDK v4 en de probleemoplossingshandleiding voor Azure Cosmos DB Java SDK v4. Als u momenteel een oudere versie dan v4 gebruikt, raadpleegt u de gids Migreren naar Azure Cosmos DB Java SDK v4 voor hulp om te upgraden naar v4.
Belangrijk
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
- U kunt de voordelen voor Visual Studio-abonnees activeren: via uw Visual Studio-abonnement ontvangt u elke maand tegoeden die u voor betaalde Azure-services kunt gebruiken.
U kunt Azure Cosmos DB gratis proberen, zonder een Azure-abonnement en zonder toezegging. U kunt ook een gratis Azure Cosmos DB-account maken met de eerste 1000 RU/s en 25 GB opslagruimte. U kunt ook de Azure Cosmos DB-emulator gebruiken met een URI van https://localhost:8081
. Zie Aanvragen verifiëren voor de sleutel die u nodig hebt voor de emulator.
De nieuwste voorbeeldtoepassingen waarmee CRUD-bewerkingen en andere veelvoorkomende bewerkingen in Azure Cosmos DB-resources worden uitgevoerd, zijn opgenomen in de GitHub-opslagplaats azure-cosmos-java-sql-api-samples. Dit artikel bevat:
- Koppelingen naar de taken in elk van de Java-voorbeeldprojectbestanden.
- Koppelingen naar het bijbehorende API-referentiemateriaal.
Vereisten
U hebt het volgende nodig om deze voorbeeldtoepassing uit te voeren:
- Java Development Kit 8
- Azure Cosmos DB Java SDK v4
U kunt eventueel Maven gebruiken om de recentste binaire Azure Cosmos DB Java SDK v4-bestanden op te halen voor gebruik in uw project. Maven voegt automatisch eventuele vereiste afhankelijkheden toe. Anders kunt u de afhankelijkheden die worden vermeld in het bestand pom.xml, rechtstreeks downloaden en toevoegen aan uw build-pad.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-cosmos</artifactId>
<version>LATEST</version>
</dependency>
De voorbeeldtoepassingen uitvoeren
De voorbeeldopslagplaats klonen:
$ git clone https://github.com/Azure-Samples/azure-cosmos-java-sql-api-samples.git
$ cd azure-cosmos-java-sql-api-samples
U kunt de voorbeelden uitvoeren met behulp van een IDE (Eclipse, IntelliJ of VS Code) of vanaf de opdrachtregel met behulp van Maven.
Deze omgevingsvariabelen moeten worden ingesteld
ACCOUNT_HOST=your account hostname;ACCOUNT_KEY=your account primary key
om de voorbeelden lees-en schrijftoegang tot uw account te geven.
Als u een voorbeeld wilt uitvoeren, geeft u de hoofdklasse op
com.azure.cosmos.examples.sample.synchronicity.MainClass
waarbij sample.synchronicity.MainClass kan zijn
- crudquickstart.sync.SampleCRUDQuickstart
- crudquickstart.async.SampleCRUDQuickstartAsync
- indexmanagement.sync.SampleIndexManagement
- indexmanagement.async.SampleIndexManagementAsync
- storedprocedure.sync.SampleStoredProcedure
- storedprocedure.async.SampleStoredProcedureAsync
- changefeed.SampleChangeFeedProcessor (Changefeed heeft alleen een async-voorbeeld, geen synchronisatievoorbeeld.)... enzovoort...
Notitie
Elk voorbeeld staat op zichzelf. Het stelt zichzelf in en aan het einde worden de gegevens automatisch opgeschoond. De voorbeelden geven meerdere aanroepen uit om een CosmosContainer
of CosmosAsyncContainer
. Telkens wanneer dit wordt gedaan, wordt uw abonnement gefactureerd voor 1 uur gebruik voor de prestatielaag van de gemaakte verzameling.
De CRUD-voorbeeldbestanden van de database voor synchronisatie en asynchroon laten zien hoe u de volgende taken uitvoert. Zie het conceptuele artikel Werken met databases, containers en items voor meer informatie over de Azure Cosmos DB-databases voordat u de volgende voorbeelden uitvoert.
Opdracht | API-verwijzing |
---|---|
Een -database maken | CosmosClient.createDatabaseIfNotExists CosmosAsyncClient.createDatabaseIfNotExists |
Een database lezen op id | CosmosClient.getDatabase CosmosAsyncClient.getDatabase |
Alle databases lezen | CosmosClient.readAllDatabases CosmosAsyncClient.readAllDatabases |
Een database verwijderen | CosmosDatabase.delete CosmosAsyncDatabase.delete |
De crud-voorbeeldenbestanden voor verzamelingen voor synchronisatie en asynchroon laten zien hoe u de volgende taken uitvoert. Zie het conceptuele artikel Werken met databases, containers en items voor meer informatie over de Azure Cosmos DB-verzamelingen voordat u de volgende voorbeelden uitvoert.
Opdracht | API-verwijzing |
---|---|
Een verzameling maken | CosmosDatabase.createContainerIfNotExists CosmosAsyncDatabase.createContainerIfNotExists |
Geconfigureerde prestaties van een verzameling wijzigen | CosmosContainer.replaceThroughput CosmosAsyncContainer.replaceProvisionedThroughput |
Een verzameling ophalen op id | CosmosDatabase.getContainer CosmosAsyncDatabase.getContainer |
Alle verzamelingen in een database lezen | CosmosDatabase.readAllContainers CosmosAsyncDatabase.readAllContainers |
Een verzameling verwijderen | CosmosContainer.delete CosmosAsyncContainer.delete |
Als u meer wilt weten over automatische schaalaanpassing voordat u deze voorbeelden uitvoert, bekijkt u deze instructies om automatische schaalaanpassing in te schakelen in uw account en in uw databases en containers.
In de voorbeeldbestanden van de database voor automatisch schalen voor synchronisatie en asynchroon ziet u hoe u de volgende taak uitvoert.
Opdracht | API-verwijzing |
---|---|
Een database maken met de opgegeven maximale doorvoer voor automatische schaalaanpassing | CosmosClient.createDatabase CosmosAsyncClient.createDatabase |
In de verzameling voor automatisch schalen worden voorbeelden van bestanden voor synchronisatie en asynchroon weergegeven hoe u de volgende taken uitvoert.
Opdracht | API-verwijzing |
---|---|
Een verzameling maken met de opgegeven maximale doorvoer voor automatische schaalaanpassing | CosmosDatabase.createContainerIfNotExists CosmosAsyncDatabase.createContainerIfNotExists |
Geconfigureerde maximale doorvoer van automatische schaalaanpassing voor een verzameling wijzigen | CosmosContainer.replaceThroughput CosmosAsyncContainer.replaceThroughput |
De doorvoerconfiguratie van een verzameling voor automatische schaalaanpassing lezen | CosmosContainer.readThroughput CosmosAsyncContainer.readThroughput |
De CRUD-voorbeeldenbestanden van de analytische opslagverzameling voor synchronisatie en asynchroon laten zien hoe u de volgende taken uitvoert. Lees voor meer informatie over de Azure Cosmos DB-verzamelingen voordat u de volgende voorbeelden uitvoert over Azure Cosmos DB Synapse en Analytical Store.
Opdracht | API-verwijzing |
---|---|
Een verzameling maken | CosmosDatabase.createContainerIfNotExists CosmosAsyncDatabase.createContainerIfNotExists |
In de bestanden met cruD-voorbeelden van documenten voor synchronisatie en asynchroon ziet u hoe u de volgende taken uitvoert. Zie het conceptuele artikel Werken met databases, containers en items voor meer informatie over de Azure Cosmos DB-documenten voordat u de volgende voorbeelden uitvoert.
Notitie
U moet een partitiesleutel opgeven bij het uitvoeren van bewerkingen voor een specifiek item.
Opdracht | API-verwijzing |
---|---|
Een document maken | CosmosContainer.createItem CosmosAsyncContainer.createItem |
Een document lezen op id | CosmosContainer.readItem CosmosAsyncContainer.readItem |
Een query uitvoeren voor documenten | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
Een document vervangen | CosmosContainer.replaceItem CosmosAsyncContainer.replaceItem |
Een document invoegen of updaten | CosmosContainer.upsertItem CosmosAsyncContainer.upsertItem |
Een document verwijderen | CosmosContainer.deleteItem CosmosAsyncContainer.deleteItem |
Een document vervangen door voorwaardelijke ETag-controle | CosmosItemRequestOptions.setIfMatchETag (sync) CosmosItemRequestOptions.setIfMatchETag (async) |
Document alleen lezen als het is gewijzigd | CosmosItemRequestOptions.setIfNoneMatchETag (sync) CosmosItemRequestOptions.setIfNoneMatchETag (async) |
Een gedeeltelijke documentupdate | CosmosContainer.patchItem |
Bulksgewijs bijwerken van documenten | Bulksgewijs voorbeelden |
Transactionele batch | batchvoorbeelden |
In het bestand Collection CRUD Samples ziet u hoe u de volgende taken uitvoert. Zie de conceptuele artikelen Indexeringsbeleid, Indexeringstypen en Indexeringspaden voor meer informatie over het indexeren in Azure Cosmos DB voordat u de volgende voorbeelden uitvoert.
Opdracht | API-verwijzing |
---|---|
Opgegeven documentpaden opnemen in de index | IndexingPolicy.IncludedPaths |
Opgegeven documentpaden uitsluiten van de index | IndexingPolicy.ExcludedPaths |
Een samengestelde index maken | IndexingPolicy.setCompositeIndexes CompositePath |
Een georuimtelijke index maken | IndexingPolicy.setSpatialIndexes SpatialSpec SpatialType |
Zie Azure Cosmos DB-indexeringsbeleid voor meer informatie over indexering.
De queryvoorbeeldbestanden voor synchronisatie en asynchroon laten zien hoe u de volgende taken uitvoert met behulp van de SQL-query grammatica. Zie SQL-queryvoorbeelden voor Azure Cosmos DB voor meer informatie over de SQL-queryreferentie in Azure Cosmos DB voordat u de volgende voorbeelden uitvoert.
Het bestand Change Feed Processor Sample laat zien hoe u de volgende taken kunt uitvoeren. Als u meer wilt weten over de wijzigingenfeed in Azure Cosmos DB voordat u de volgende voor beelden uitvoert, raadpleegt u Wijzigingenfeed in Azure Cosmos DB lezen en Processor voor wijzigingenfeed in Azure Cosmos DB.
Opdracht | API-verwijzing |
---|---|
Basisfunctionaliteit van wijzigingenfeed | ChangeFeedProcessor.changeFeedProcessorBuilder |
Wijzigingenfeed vanaf het begin lezen | ChangeFeedProcessorOptions.setStartFromBeginning() |
In het bestand Stored Procedure Sample ziet u hoe u de volgende taken kunt uitvoeren. Zie Opgeslagen procedures, triggers en door de gebruiker gedefinieerde functies voor meer informatie over het programmeren op de server in Azure Cosmos DB voordat u de volgende voorbeelden uitvoert.
Opdracht | API-verwijzing |
---|---|
Een opgeslagen procedure maken | CosmosScripts.createStoredProcedure |
Een opgeslagen procedure uitvoeren | CosmosStoredProcedure.execute |
Een opgeslagen procedure verwijderen | CosmosStoredProcedure.delete |
Wilt u capaciteitsplanning uitvoeren voor een migratie naar Azure Cosmos DB? U kunt informatie over uw bestaande databasecluster gebruiken voor capaciteitsplanning.
- Als alles wat u weet het aantal vcores en servers in uw bestaande databasecluster is, leest u meer over het schatten van aanvraageenheden met behulp van vCores of vCPU's
- Als u typische aanvraagtarieven voor uw huidige databaseworkload kent, leest u meer over het schatten van aanvraageenheden met behulp van azure Cosmos DB-capaciteitsplanner