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.
Azure Spring Data voor Azure Cosmos DB biedt Spring Data-ondersteuning voor Azure Cosmos DB voor NoSQL-. Azure Cosmos DB is een wereldwijd gedistribueerde databaseservice die ontwikkelaars kunnen gebruiken om met gegevens te werken met behulp van verschillende standaard-API's, zoals SQL, MongoDB, Cassandra, Graph en Table.
In deze handleiding worden de concepten van Azure Spring Data Azure Cosmos DB SDK, ondersteunde functies, probleemoplossing en bekende problemen uitgelegd. Zie de Spring Data voor Azure Cosmos DB SDK-readme voor meer informatie over deze concepten en codevoorbeelden.
Versieondersteuningsbeleid
Ondersteuning voor Spring Boot-versie
Dit project ondersteunt meerdere Spring Boot-versies. Zie Spring Boot-ondersteuningsbeleidvoor meer informatie. Maven-gebruikers kunnen overnemen van het spring-boot-starter-parent project om een sectie voor afhankelijkheidsbeheer op te halen waarmee Spring de versies voor afhankelijkheden kan beheren. Zie Spring Boot-versieondersteuningvoor meer informatie.
Ondersteuning voor Spring Data-versies
Dit project ondersteunt verschillende spring-data-commons versies. Zie Spring Data Version Supportvoor meer informatie.
Welke versie van Azure Spring Data Azure Cosmos DB moet worden gebruikt
Azure Spring Data Azure Cosmos DB-bibliotheek ondersteunt meerdere versies van Spring Boot en Spring Cloud. Zie voor meer informatie over welke versie van Azure Spring Data Azure Cosmos DB u wilt gebruiken met Spring Boot en Spring Cloud welke versie van Azure Spring Data voor Azure Cosmos DB moet ik gebruiken?
Aan de slag
Het pakket opnemen
Als u Maven gebruikt, voegt u de volgende afhankelijkheid toe.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-spring-data-cosmos</artifactId>
<version>LATEST</version>
</dependency>
Voorwaarden
- Java Development Kit (JDK), versie 8 of hoger.
- Een actief Azure-account. Als u nog geen account hebt, kunt u zich aanmelden voor een gratis account. U kunt ook de Azure Cosmos DB Emulator- gebruiken voor ontwikkeling en testen. Omdat de emulator gebruikmaakt van een zelfondertekend HTTPS-certificaat, moet u het certificaat importeren in het Java vertrouwd certificaatarchief, zoals hier wordt uitgelegd.
- (Optioneel) SLF4J is een interface voor logging.
- (Optioneel) SLF4J-binding wordt gebruikt om een specifiek logboekregistratieframework te koppelen aan SLF4J.
- (Optioneel) Maven
U hebt alleen SLF4J nodig als u logboekregistratie wilt gebruiken. Download ook een SLF4J-binding, die de SLF4J-API koppelt aan de implementatie van logboekregistratie van uw keuze. Zie voor meer informatie de SLF4J gebruikershandleiding.
De configuratieklasse instellen en aanpassen
Om de configuratieklasse in te stellen, breidt u AbstractCosmosConfiguration uit. Zie Configuratieklasse instellenvoor meer informatie.
U kunt de onderliggende CosmosAsyncClient die door de Azure Spring Data Azure Cosmos DB SDK wordt gebruikt aanpassen door DirectConnectionConfig, GatewayConnectionConfig of beide op te geven en deze door te geven aan CosmosClientBuilder. Ga naar de sectie voor het aanpassen van de configuratie voor een volledig voorbeeld.
Entiteit instellen
U kunt een eenvoudige entiteit definiëren als een item in Azure Cosmos DB. Definieer entiteiten door de @Container aantekening toe te voegen en eigenschappen op te geven die betrekking hebben op de container. Zie Een entiteit definiërenvoor meer informatie.
De containerannotatie ondersteunt het opgeven van de containernaam, aanvraageenheden (RU’s), levensduur, het maken van containers met automatisch schalende doorvoer, ondersteuning voor geneste partitiesleutels en andere containereigenschappen.
Opslagplaats instellen
Azure Spring Data Azure Cosmos DB ondersteunt ReactiveCrudRepository (asynchrone API's) en CrudRepository (synchronisatie-API's), die de volgende eenvoudige CRUD-functionaliteit bieden:
- opslaan
- vindAlles
- vindEén op ID
- verwijderAlles
- verwijderen op basis van ID
- entiteit verwijderen
U kunt CosmosRepository (voor synchronisatie-API-ondersteuning) of ReactiveCosmosRepository (voor asynchrone API-ondersteuning) uitbreiden om Spring Data-opslagplaatsen voor uw toepassing in te stellen. Zie Opslagplaatsen makenvoor meer informatie.
Azure Spring Data-Azure Cosmos DB ondersteunt het opgeven van geannoteerde query's in de opslagplaatsen met behulp van @Query. Voor meer informatie, zie QueryAnnotation: gebruik van geannoteerde query's in repositories.
Spring-gegevensaantekeningen
Spring Data @Id annotatie
U kunt een veld in een domeinklasse op meerdere manieren toewijzen aan id. Raadpleeg sectie van de annotatiecode voor de springgegevens-ID'svoor meer informatie.
Id automatisch genereren
Azure Spring Data Azure Cosmos DB ondersteunt het automatisch genereren van id's met behulp van de @GeneratedValue aantekening. Voor meer informatie, zie de sectie over het automatisch genereren van ID's .
SpEL-expressie en aangepaste containernaam
Standaard is de containernaam de klassenaam van de gebruikersdomeinklasse. Als u de containernaam wilt aanpassen, voegt u de @Container(containerName="myCustomContainerName") aantekening toe aan de domeinklasse. Zie de sectie SpEL-expressie en aangepaste containernaamsectievoor meer informatie.
Aangepast Indexeringsbeleid
Standaard stelt de Azure-service de IndexingPolicy. Als u de IndexingPolicyaantekening wilt aanpassen, voegt u de @CosmosIndexingPolicy aantekening toe aan de domeinklasse. Zie de sectie indexeringsbeleidvoor meer informatie.
Beleid voor unieke sleutels
Azure Spring Data Azure Cosmos DB ondersteunt het instellen van de UniqueKeyPolicy container door de @CosmosUniqueKeyPolicy aantekening toe te voegen aan de domeinklasse. Zie de sectie uniek sleutelbeleidvoor meer informatie.
Azure Cosmos DB-partitie
Azure-spring-data-cosmos ondersteunt Azure Cosmos DB-partities.
Als u een veld van de domeinklasse wilt opgeven als het partitiesleutelveld, moet u er aantekeningen aan toevoegen.@PartitionKey
Wanneer u een CRUD-bewerking uitvoert, geeft u de partitiewaarde op.
Voor meer informatie, zie de test hier in sectie.
Optimistische vergrendeling
Azure-spring-data-cosmos ondersteunt optimistische vergrendeling voor specifieke containers. Deze ondersteuning betekent dat upserts en verwijderingen per item mislukken met een uitzondering als een ander proces het item wijzigt. Zie voor meer informatie de sectie , optimistische vergrendeling,.
Aangepaste Spring Data-query, met paginering en sortering
Azure-spring-data-cosmos biedt ondersteuning voor aangepaste Spring Data-query's, zoals een zoekbewerking zoals findByAFieldAndBField. Het biedt ook ondersteuning voor Spring Data Pageable, Slice en Sort. Zie de sectie Query, Pageable en Sortering voor meer informatie.
Azure Cosmos DB Java SDK gebruiken via Spring Data Cosmos
Azure-spring-data-cosmos ondersteunt het gebruik van de Azure Cosmos DB Java SDK. U kunt via ApplicationContext een CosmosClient of CosmosAsyncClient bean verkrijgen en bewerkingen uitvoeren die worden ondersteund door de Azure Cosmos DB Java SDK. Voor meer informatie, zie de sectie waarin de Azure Cosmos-client via Spring Data Cosmos wordt gebruikt.
Spring Data REST
Azure-spring-data-cosmos ondersteunt Spring Data REST-. Zie de sectie Azure Spring Data Azure Cosmos DB REST APIvoor meer informatie.
Controle
Azure-spring-data-cosmos ondersteunt controlevelden voor databaseentiteiten met behulp van standaard annotaties voor spring-data. Zie de sectie Spring Data Azure Cosmos DB-controlevoor meer informatie.
Configuratie van meerdere databases
Azure-spring-data-cosmos ondersteunt configuratie van meerdere databases, waaronder meerdere databaseaccounts en één account met meerdere databases. Zie de sectie configuratie van meerdere databasesvoor een volledig codefragment.
Probleemoplossing
Algemeen
Als er een fout optreedt, dient u hier een probleem in.
Als u een nieuwe functie of wijzigingen wilt voorstellen, dient u een probleem op dezelfde manier in als voor een fout.
Clientlogboekregistratie inschakelen
Azure-spring-data-cosmos maakt gebruik van SLF4j als de façade voor logboekregistratie die ondersteuning biedt voor logboekregistratie in populaire frameworks voor logboekregistratie, zoals log4j en logback. Voor meer informatie, zie de sectie clientlogging inschakelen.
Voorbeelden
Zie het voorbeeldprojectvoor een volledig voorbeeldproject.
Accounts met meerdere databases
Zie het voorbeeldproject voor meerdere databases voor een volledig voorbeeldproject.
Eén account met meerdere databases
Zie het voorbeeldproject met één account met meerdere databases voor een volledig voorbeeldproject.
Volgende stappen
- Meer informatie over Azure Spring Data Azure Cosmos DB.
- Lees meer over Azure Cosmos DB Service.
- Zie de Azure Spring Data Azure Cosmos DB-voorbeelden.
- Bekijk het Spring MVC-voorbeeld met Azure Cosmos DB.
Bijdragen
Dit project verwelkomt bijdragen en suggesties. Voor de meeste bijdragen moet u akkoord gaan met een Licentieovereenkomst voor inzenders (CLA) waarin wordt verklaard dat u het recht hebt om ons de rechten te verlenen om uw bijdrage te gebruiken.
Wanneer u een pull request indient, bepaalt een CLA-bot automatisch of u een CLA moet opgeven en de pull request passend markeren, bijvoorbeeld met een label of commentaar. Volg gewoon de instructies van de bot. U hoeft dit slechts één keer te doen voor alle repositories met behulp van onze CLA.
Dit project heeft de Microsoft Open Source-gedragscodeaangenomen. Zie de Veelgestelde vragen over gedragscodes of neem contact op met opencode@microsoft.com met andere vragen of opmerkingen voor meer informatie.