Azure Cosmos DB för NoSQL: Java SDK v4-exempel
GÄLLER FÖR: NoSQL
Viktigt!
Mer information om Java SDK v4 finns i Azure Cosmos DB Java SDK v4 Versionsanteckningar, Maven-lagringsplats, Azure Cosmos DB Java SDK v4-prestandatips och Felsökningsguide för Azure Cosmos DB Java SDK v4 för mer information. Om du för närvarande använder en äldre version än v4 kan du läsa guiden Migrera till Azure Cosmos DB Java SDK v4 för hjälp med att uppgradera till v4.
Viktigt!
Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
- Du kan aktivera Visual Studio-prenumerantförmåner: din Visual Studio-prenumeration ger dig krediter varje månad som kan användas för Azure-betaltjänster.
Du kan prova Azure Cosmos DB kostnadsfritt, utan en Azure-prenumeration och utan något åtagande. Du kan också skapa ett kostnadsfritt Azure Cosmos DB-konto med de första 1 000 RU/s och 25 GB lagringsutrymme utan kostnad. Du kan också använda Azure Cosmos DB-emulatorn med en URI för https://localhost:8081
. Den nyckel som ska användas med emulatorn finns i Autentisera begäranden.
De senaste exempelprogrammen som utför CRUD-åtgärder och andra vanliga åtgärder på Azure Cosmos DB-resurser ingår i GitHub-lagringsplatsen azure-cosmos-java-sql-api-samples . Den här artikeln innehåller:
- Länkar till uppgifterna i var och en av Java-projektfilerna.
- Länkar till det relaterade API-referensinnehållet.
Förutsättningar
Du behöver följande för att köra det här exempelprogrammet:
- Java Development Kit 8
- Azure Cosmos DB Java SDK v4
Du kan också använda Maven för att hämta de senaste Azure Cosmos DB Java SDK v4-binärfilerna för användning i projektet. Maven lägger automatiskt till alla nödvändiga beroenden. Du kan även ladda ned beroendena direkt som listas i filen pom.xml och lägga till dem till din byggsökväg.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-cosmos</artifactId>
<version>LATEST</version>
</dependency>
Köra exempelprogrammen
Klona lagringsplatsexemplet:
$ git clone https://github.com/Azure-Samples/azure-cosmos-java-sql-api-samples.git
$ cd azure-cosmos-java-sql-api-samples
Du kan köra exemplen med antingen en IDE (Eclipse, IntelliJ eller VS Code) eller från kommandoraden med hjälp av Maven.
Dessa miljövariabler måste anges
ACCOUNT_HOST=your account hostname;ACCOUNT_KEY=your account primary key
för att ge exemplen läs-/skrivåtkomst till ditt konto.
Om du vill köra ett exempel anger du dess huvudklass
com.azure.cosmos.examples.sample.synchronicity.MainClass
där sample.synchronicity.MainClass kan vara
- crudquickstart.sync.SampleCRUDQuickstart
- crudquickstart.async.SampleCRUDQuickstartAsync
- indexmanagement.sync.SampleIndexManagement
- indexmanagement.async.SampleIndexManagementAsync
- storedprocedure.sync.SampleStoredProcedure
- storedprocedure.async.SampleStoredProcedureAsync
- changefeed. SampleChangeFeedProcessor (Changefeed har bara ett asynkront exempel, inget synkroniseringsexempel.) ... etc...
Kommentar
Varje exempel är självständigt. Det konfigurerar sig själv och rensar upp efter sig. Exemplen utfärdar flera anrop för att skapa en CosmosContainer
eller CosmosAsyncContainer
. Varje gång det sker faktureras din prenumeration för en timmes användning för prestandanivån för den skapade samlingen.
Databasexempel
Crud-exempelfilerna för databas för synkronisering och asynkronisering visar hur du utför följande uppgifter. Mer information om Azure Cosmos DB-databaserna innan du kör följande exempel finns i artikeln Arbeta med databaser, containrar och objekt .
Uppgift | API-referens |
---|---|
Skapa en -databas | CosmosClient.createDatabaseIfNotExists CosmosAsyncClient.createDatabaseIfNotExists |
Läsa en databas via ID | CosmosClient.getDatabase CosmosAsyncClient.getDatabase |
Läsa alla databaser | CosmosClient.readAllDatabases CosmosAsyncClient.readAllDatabases |
Ta bort en databas | CosmosDatabase.delete CosmosAsyncDatabase.delete |
Samlingsexempel
Samlings-CRUD-exempelfilerna för synkronisering och asynkronisering visar hur du utför följande uppgifter. Mer information om Azure Cosmos DB-samlingarna innan du kör följande exempel finns i artikeln Arbeta med databaser, containrar och objekt .
Uppgift | API-referens |
---|---|
Skapa en samling | CosmosDatabase.createContainerIfNotExists CosmosAsyncDatabase.createContainerIfNotExists |
Ändra konfigurerade prestanda i en samling | CosmosContainer.replaceThroughput CosmosAsyncContainer.replaceProvisionedThroughput |
Hämta en samling via ID | CosmosDatabase.getContainer CosmosAsyncDatabase.getContainer |
Läsa alla samlingar i en databas | CosmosDatabase.readAllContainers CosmosAsyncDatabase.readAllContainers |
Ta bort en samling | CosmosContainer.delete CosmosAsyncContainer.delete |
Exempel på autoskalningssamling
Om du vill veta mer om autoskalning innan du kör dessa exempel kan du ta en titt på de här anvisningarna för att aktivera autoskalning i ditt konto och i dina databaser och containrar.
Exempelfilerna för autoskalning av databas för synkronisering och asynkronisering visar hur du utför följande uppgift.
Uppgift | API-referens |
---|---|
Skapa en databas med angivet maximalt dataflöde för autoskalning | CosmosClient.createDatabase CosmosAsyncClient.createDatabase |
Exempelfilerna för autoskalningssamlingen för synkronisering och asynkronisering visar hur du utför följande uppgifter.
Uppgift | API-referens |
---|---|
Skapa en samling med angivet maximalt dataflöde för autoskalning | CosmosDatabase.createContainerIfNotExists CosmosAsyncDatabase.createContainerIfNotExists |
Ändra konfigurerat maximalt dataflöde för automatisk skalning för en samling | CosmosContainer.replaceThroughput CosmosAsyncContainer.replaceThroughput |
Läsa autoskalning av dataflödeskonfiguration för en samling | CosmosContainer.readThroughput CosmosAsyncContainer.readThroughput |
Exempel på analyslagringsinsamling
CRUD-exempelfilerna för analyslagringssamlingen för synkronisering och asynkronisering visar hur du utför följande uppgifter. Om du vill veta mer om Azure Cosmos DB-samlingarna innan du kör följande exempel kan du läsa om Azure Cosmos DB Synapse och Analytical Store.
Uppgift | API-referens |
---|---|
Skapa en samling | CosmosDatabase.createContainerIfNotExists CosmosAsyncDatabase.createContainerIfNotExists |
Objektexempel
Crud-exempelfilerna för dokument för synkronisering och asynkronisering visar hur du utför följande uppgifter. Mer information om Azure Cosmos DB-dokumenten innan du kör följande exempel finns i artikeln Arbeta med databaser, containrar och objekt .
Kommentar
Du måste ange en partitionsnyckel när du utför åtgärder mot ett visst objekt.
Uppgift | API-referens |
---|---|
Skapa ett dokument | CosmosContainer.createItem CosmosAsyncContainer.createItem |
Läsa ett dokument via ID | CosmosContainer.readItem CosmosAsyncContainer.readItem |
Fråga för dokument | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
Ersätta ett dokument | CosmosContainer.replaceItem CosmosAsyncContainer.replaceItem |
Upsertera ett dokument | CosmosContainer.upsertItem CosmosAsyncContainer.upsertItem |
Ta bort ett dokument | CosmosContainer.deleteItem CosmosAsyncContainer.deleteItem |
Ersätt ett dokument med villkorsstyrd ETag-kontroll | CosmosItemRequestOptions.setIfMatchETag (synkronisering) CosmosItemRequestOptions.setIfMatchETag (async) |
Läsa dokument endast om dokumentet har ändrats | CosmosItemRequestOptions.setIfNoneMatchETag (synkronisering) CosmosItemRequestOptions.setIfNoneMatchETag (async) |
Partiell dokumentuppdatering | CosmosContainer.patchItem |
Massdokumentuppdatering | Massexempel |
Transaktionsbatch | batch-exempel |
Indexeringsexempel
Filen Samlings-CRUD-exempel visar hur du utför följande uppgifter. Mer information om indexering i Azure Cosmos DB innan du kör följande exempel finns i konceptuella artiklar om indexeringsprinciper, indexeringstyper och indexeringssökvägar.
Uppgift | API-referens |
---|---|
Inkludera angivna dokumentsökvägar i indexet | IndexingPolicy.IncludedPaths |
Undanta angivna dokumentsökvägar från indexet | IndexingPolicy.ExcludedPaths |
Skapa ett sammansatt index | IndexingPolicy.setCompositeIndexes CompositePath |
Skapa ett geospatialt index | IndexingPolicy.setSpatialIndexes SpatialSpec SpatialType |
Mer information om indexering finns i Azure Cosmos DB-indexeringsprinciper.
Exempelfrågor
Frågeexempelfilerna för synkronisering och asynkronisering visar hur du utför följande uppgifter med hjälp av SQL-fråge grammatik. Mer information om SQL-frågereferensen i Azure Cosmos DB innan du kör följande exempel finns i SQL-frågeexempel för Azure Cosmos DB.
Exempel på ändringsflöde
Exempelfilen för ändringsflödesprocessor visar hur du utför följande uppgifter. Mer information om ändringsflöde i Azure Cosmos DB innan du kör följande exempel finns i Läsa Azure Cosmos DB-ändringsflöde och Ändringsflödesprocessor.
Uppgift | API-referens |
---|---|
Grundläggande ändringsflödesfunktioner | ChangeFeedProcessor.changeFeedProcessorBuilder |
Läs ändringsfeed från början | ChangeFeedProcessorOptions.setStartFromBeginning() |
Programmeringsexempel på serversidan
Filen Exempel på lagrad procedur visar hur du utför följande uppgifter. Mer information om programmering på serversidan i Azure Cosmos DB innan du kör följande exempel finns i Lagrade procedurer, utlösare och användardefinierade funktioner.
Uppgift | API-referens |
---|---|
Skapa en lagrad procedur | CosmosScripts.createStoredProcedure |
Köra en lagrad procedur | CosmosStoredProcedure.execute |
Ta bort en lagrad procedur | CosmosStoredProcedure.delete |
Nästa steg
Försöker du planera kapacitet för en migrering till Azure Cosmos DB? Du kan använda information om ditt befintliga databaskluster för kapacitetsplanering.
- Om allt du vet är antalet virtuella kärnor och servrar i ditt befintliga databaskluster läser du om att uppskatta enheter för begäranden med virtuella kärnor eller virtuella kärnor
- Om du känner till vanliga begärandefrekvenser för din aktuella databasarbetsbelastning kan du läsa om att uppskatta enheter för begäranden med azure Cosmos DB-kapacitetshanteraren