Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Spring Data för Azure Cosmos DB erbjuder stöd för Spring Data till Azure Cosmos DB för NoSQL. Azure Cosmos DB är en globalt distribuerad databastjänst som utvecklare kan använda för att arbeta med data med hjälp av olika standard-API:er, till exempel SQL, MongoDB, Cassandra, Graph och Table.
Den här guiden beskriver begreppen Azure Spring Data Azure Cosmos DB SDK, funktioner som stöds, felsökning och kända problem. Mer information om dessa begrepp och kodexempel finns i README-filen för Spring Data for Azure Cosmos DB SDK.
Princip för versionsstöd
Stöd för Spring Boot-version
Det här projektet stöder flera Spring Boot-versioner. För mer information, se Supportpolicy för Spring Boot. Maven-användare kan ärva från spring-boot-starter-parent projektet för att få ett beroendehanteringsavsnitt som låter Spring hantera versionerna för beroenden. Mer information finns i Spring Boot Version Support.
Stöd för Spring Data-version
Det här projektet stöder olika spring-data-commons versioner. Mer information finns i Spring Data Version Support.
Vilken version av Azure Spring Data Azure Cosmos DB som ska användas
Azure Spring Data Azure Cosmos DB-biblioteket har stöd för flera versioner av Spring Boot och Spring Cloud. Mer information om vilken version av Azure Spring Data Azure Cosmos DB att använda med Spring Boot och Spring Cloud finns i Vilken version av Azure Spring Data för Azure Cosmos DB ska jag använda?
Sätta igång
Inkludera paketet
Om du använder Maven lägger du till följande beroende.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-spring-data-cosmos</artifactId>
<version>LATEST</version>
</dependency>
Förutsättningar
- Java Development Kit (JDK), version 8 eller senare.
- Ett aktivt Azure-konto. Om du inte har ett konto kan du registrera dig för ett kostnadsfritt konto. Du kan också använda Azure Cosmos DB-emulatorn för utveckling och testning. Eftersom emulatorn använder ett självsignerat HTTPS-certifikat måste du importera dess certifikat till Java betrott certifikatarkiv, som beskrivs här.
- (Valfritt) SLF4J är ett loggningsgränssnitt.
- (Valfritt) SLF4J-bindning används för att associera ett specifikt loggningsramverk med SLF4J.
- (Valfritt) Maven
Du behöver bara SLF4J om du planerar att använda loggning. Ladda också ned en SLF4J-bindning som länkar SLF4J-API:et till valfri loggningsimplementering. Mer information finns i användarhandboken för SLF4J.
Konfigurera och anpassa konfigurationsklassen
Om du vill konfigurera konfigurationsklassen utökar du AbstractCosmosConfiguration. Mer information finns i Konfigurationsklass.
Du kan anpassa den underliggande CosmosAsyncClient som används av Azure Spring Data Azure Cosmos DB SDK genom att ange DirectConnectionConfig, GatewayConnectionConfigeller båda, och ge dem till CosmosClientBuilder. Ett fullständigt exempel finns i avsnittet anpassa konfiguration.
Entitetskonfiguration
Du kan definiera en enkel entitet som ett objekt i Azure Cosmos DB. Definiera entiteter genom att lägga till anteckningen @Container och ange egenskaper som är relaterade till containern. Mer information finns i Definiera en entitet.
Containeranteckningen har stöd för att ange containernamnet, begärandeenheter (RU), livslängd, skapa containrar med genomströmning med automatisk skalning, stöd för kapslade partitionsnycklar och andra containeregenskaper.
Konfiguration av lagringsplats
Azure Spring Data Azure Cosmos DB stöder ReactiveCrudRepository (asynkrona API:er) och CrudRepository (synkroniserings-API:er), som tillhandahåller följande grundläggande CRUD-funktioner:
- spara
- hittaAlla
- findOne med ID
- radera alla
- ta bort med ID
- ta bort entitet
Du kan utöka CosmosRepository (för stöd för synkroniserings-API) eller ReactiveCosmosRepository (för asynkront API-stöd) för att konfigurera Spring Data-lagringsplatser för ditt program. Mer information finns i Skapa lagringsplatser.
Azure Spring Data Azure Cosmos DB har stöd för att ange annoterade frågor i repozitorierna med hjälp av @Query. Mer information finns i QueryAnnotation: Använda annoterade förfrågningar i arkiv.
Spring Data-anteckningar
Spring Data @Id-kommentar
Du kan mappa ett fält i en domänklass till id på flera sätt. Mer information finns i avsnittet källdata-ID-anteckningskod.
Automatisk ID-generering
Azure Spring Data Azure Cosmos DB stöder automatisk generering av ID:er med hjälp av anteckningen@GeneratedValue. Mer information finns i avsnittet automatisk generering av ID.
SpEL-uttryck och anpassat containernamn
Som standard är containernamnet klassnamnet för användardomänklassen. Om du vill anpassa containernamnet lägger du till anteckningen @Container(containerName="myCustomContainerName") i domänklassen. För mer information, se avsnittet om SpEL-uttryck och anpassade containernamn.
Anpassad indexeringspolicy
Azure-tjänsten ställer som standard in IndexingPolicy. Om du vill anpassa IndexingPolicylägger du till anteckningen @CosmosIndexingPolicy i domänklassen. För mer information, se avsnittet om indexeringsprinciper.
Princip för unik nyckel
Azure Spring Data Azure Cosmos DB stöder att UniqueKeyPolicy anges för containern genom att lägga till annoteringen @CosmosUniqueKeyPolicy i domänklassen. Mer information finns i avsnittet unik nyckelprincip.
Azure Cosmos DB-partition
Azure-spring-data-cosmos stöder Azure Cosmos DB-partitioner.
Om du vill ange ett fält i domänklassen som partitionsnyckelfält kommenterar du det med @PartitionKey.
När du utför en CRUD-åtgärd anger du partitionsvärdet.
Mer information finns i avsnitt test här.
Optimistisk låsmetod
Azure-spring-data-cosmos stöder optimistisk låsning för specifika containrar. Detta stöd innebär att upserts och borttagningar per objekt misslyckas med ett undantag om en annan process ändrar objektet. För mer information, se avsnittet om optimistisk låsning.
Anpassad Spring Data-fråga, paginering och med sortering
Azure-spring-data-cosmos stöder anpassade Spring Data-frågor, till exempel en sökåtgärd som findByAFieldAndBField. Den stöder även Spring Data Pageable, Slice och Sort. Mer information finns i avsnittet frågor, sidindelning och sortering.
Använda Azure Cosmos DB Java SDK via Spring Data Cosmos
Azure-spring-data-cosmos stöder användning av Azure Cosmos DB Java SDK. Du kan hämta en CosmosClient- eller CosmosAsyncClient-bean via ApplicationContext och utföra alla åtgärder som stöds av Azure Cosmos DB Java SDK. Mer information finns i avsnittet om att använda Azure Cosmos-klienten genom Spring Data Cosmos.
Spring Data REST
Azure-spring-data-cosmos stöder Spring Data REST-. Mer information finns i avsnittet Azure Spring Data Azure Cosmos DB REST API.
Granskning
Azure-spring-data-cosmos stöder granskningsfält på databasentiteter med hjälp av vanliga spring-data-anteckningar. Mer information finns i granskningsavsnittet Spring Data Azure Cosmos DB.
Konfiguration av flera databaser
Azure-spring-data-cosmos stöder konfiguration av flera databaser, inklusive flera databaskonton och ett enda konto med flera databaser. Ett fullständigt kodfragment finns i avsnittet konfiguration av flera databaser.
Felsökning
Allmänt
Om du stöter på en bugg skapar du ett problem här.
Om du vill föreslå en ny funktion eller ändringar skapar du ett problem på samma sätt som för en bugg.
Aktivera klientloggning
Azure-spring-data-cosmos använder SLF4j som loggningsfasad som stöder inloggning i populära loggningsramverk som log4j och logback. Mer information finns i avsnittet aktivera klientloggning.
Exempel
Ett fullständigt exempelprojekt finns i exempelprojektet.
Konton med flera databaser
Ett fullständigt exempelprojekt finns i exempelprojektet för flera databaser.
Enskilt konto med flera databaser
Ett fullständigt exempelprojekt finns i exempelprojektet för ett enskilt konto med flera databaser.
Nästa steg
- Läs mer om Azure Spring Data Azure Cosmos DB.
- Läs mer om Azure Cosmos DB Service.
- Se exempel på Azure Spring Data Azure Cosmos DB.
- Se exemplet Spring MVC med Azure Cosmos DB.
Bidrag
Det här projektet välkomnar bidrag och förslag. De flesta bidrag kräver att du samtycker till ett deltagarlicensavtal (CLA) som förklarar att du har rätt att, och faktiskt gör, ge oss rätt att använda ditt bidrag.
När du skickar en pull-begäran avgör en CLA-bot automatiskt om du behöver tillhandahålla en CLA och märker PR på rätt sätt – till exempel med en etikett eller kommentar. Följ bara anvisningarna från roboten. Du behöver bara göra detta en gång över alla lagringsplatser med hjälp av vår CLA.
Det här projektet har antagit Microsoft Open Source Code of Conduct. Mer information finns i vanliga frågor och svar om uppförandekod eller kontakta opencode@microsoft.com med andra frågor eller kommentarer.