Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure Spring Data Spring Data-támogatást nyújt az Azure Cosmos DB for NoSQL rendszeréhez. Azure Cosmos DB egy globálisan elosztott adatbázis-szolgáltatás, amellyel a fejlesztők különböző szabványos API-k, például SQL, MongoDB, Cassandra, Graph és Table használatával dolgozhatnak az adatokkal.
Ez az útmutató ismerteti a Spring Data Azure Cosmos DB SDK Azure, a támogatott funkciók, a hibaelhárítás és az ismert problémák fogalmait. Ezekről a fogalmakról és kódmintákról további információt a Spring Data for Azure Cosmos DB SDK readme című cikkben talál.
Verziótámogatási szabályzat
Spring Boot-verzió támogatása
Ez a projekt több Spring Boot-verziót is támogat. További információ: Spring Boot támogatási szabályzat. A Maven-felhasználók örökölhetnek a spring-boot-starter-parent projektből egy függőségkezelési szakaszt, amely lehetővé teszi, hogy a Spring kezelje a függőségek verzióit. További információkért lásd a Spring Boot verziótámogatási ésrészeket.
Spring Data-verzió támogatása
Ez a projekt különböző spring-data-commons verziókat támogat. További információ: a Spring Data verzió támogatás.
Az Azure Spring Data Azure Cosmos DB melyik verzióját használja
Azure Spring Data Azure Cosmos DB-kódtár a Spring Boot és a Spring Cloud több verzióját is támogatja. A Spring Boottal és a Spring Clouddal használható Azure Spring Data Azure Cosmos DB-verziókkal kapcsolatos további információkért lásd: Az Azure Cosmos DB-hez készült Azure Spring Data melyik verzióját használjam?
Első lépések
Tegye bele a csomagot
Ha Mavent használ, adja hozzá a következő függőséget.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-spring-data-cosmos</artifactId>
<version>LATEST</version>
</dependency>
Előfeltételek
- Java Development Kit (JDK), 8-os vagy újabb verzió.
- Aktív Azure-fiók. Ha nem rendelkezik ilyen fiókkal, regisztrálhat egy ingyenes fiókra. Másik lehetőségként az Azure Cosmos DB Emulator is használhatja a fejlesztéshez és teszteléshez. Mivel az emulátor önaláírt HTTPS-tanúsítványt használ, importálnia kell a tanúsítványát a Java megbízható tanúsítványtárolóba, amelyet itt ismertetünk.
- (Nem kötelező) Az SLF4J egy naplózási keretrendszer.
- (Nem kötelező) SLF4J kötés egy adott naplózási keretrendszer és az SLF4J társítására szolgál.
- (Nem kötelező) Maven
Csak akkor van szüksége SLF4J-ra, ha naplózást szeretne használni. Töltsön le egy SLF4J-kötést is, amely összekapcsolja az SLF4J API-t a választott naplózási implementációval. További információ: SLF4J felhasználói kézikönyv.
A konfigurációs osztály beállítása és testreszabása
A konfigurációs osztály beállításához bővítse ki AbstractCosmosConfiguration. További információ: Beállítási konfigurációs osztály.
Az Azure Spring Data Azure Cosmos DB SDK által használt mögöttes CosmosAsyncClient testre szabhatja a(z) DirectConnectionConfig, a(z) GatewayConnectionConfig vagy mindkettő megadásával, majd ezek átadásával a(z) CosmosClientBuilder számára. A teljes minta megtekintéséhez látogasson el a testreszabási konfigurációs szakaszra.
Entitás beállítása
Egy egyszerű entitást elemként definiálhat a Azure Cosmos DB. Entitások definiálásához adja hozzá a @Container megjegyzést, és adja meg a tárolóhoz kapcsolódó tulajdonságokat. További információ: Entitás definiálása.
A tárolójegyzet támogatja a tároló nevének, a kérelemegységek (KÉRELEM-k) megadását, az élettartamot, az automatikus skálázási átviteli sebességgel rendelkező tárolók létrehozását, a beágyazott partíciókulcs támogatását és egyéb tárolótulajdonságokat.
Adattár beállítása
Az Azure Spring Data Azure Cosmos DB támogatja a ReactiveCrudRepository (aszinkron API-k) és a CrudRepository (szinkronizálási API-k), amelyek a következő alapvető CRUD-funkciókat biztosítják:
- megment
- keresd az összeset
- findOne ID alapján
- összes törlése
- törlés azonosító szerint
- entitás törlése
Kibővítheti a CosmosRepository-et (szinkron API támogatás esetén) vagy a ReactiveCosmosRepository-et (aszcinkron API támogatás esetén), hogy beállítsa az alkalmazása számára a Spring Data adattárakat. További információ: Adattárak létrehozása.
Azure Spring Data Azure Cosmos DB támogatja a jegyzetekkel ellátott lekérdezések megadását az adattárakban a használatával@Query. További információ: QueryAnnotation: Jegyzetekkel ellátott lekérdezések használata az adattárakban.
Spring Data-széljegyzetek
Spring Data @Id széljegyzet
Egy domainosztály mezője többféleképpen is leképezhető a(z) id elemre. További információért lásd a tavaszi adat ID annotációs kód szakaszát.
Automatikus azonosító létrehozása
Az Azure Spring Data Azure Cosmos DB támogatja az azonosítók automatikus létrehozását a(z) @GeneratedValue annotáció használatával. További információ: azonosító automatikus létrehozása szakasz.
SpEL-kifejezés és egyéni tárolónév
Alapértelmezés szerint a tároló neve a felhasználói tartományosztály osztályneve. A tároló nevének testreszabásához adja hozzá a @Container(containerName="myCustomContainerName") megjegyzést a tartományosztályhoz. További információ: SpEL-kifejezés és egyéni tárolónév szakasz.
Egyéni indexelési irányelv
Alapértelmezés szerint a Azure szolgáltatás beállítja a IndexingPolicy. A(z) IndexingPolicy testreszabásához adja hozzá a @CosmosIndexingPolicy annotációt a domainosztályhoz. További információ: indexelési szabályzat szakasz.
Egyedi kulcsszabályzat
Azure Spring Data Azure Cosmos DB támogatja a UniqueKeyPolicy tároló beállítását úgy, hogy hozzáadja a @CosmosUniqueKeyPolicy megjegyzést a tartományosztályhoz. További információért tekintse meg a egyedi kulcsszabályzatszakaszát.
Azure Cosmos DB partíció
Azure-spring-data-cosmos támogatja Azure Cosmos DB-partíciókat.
Ha a tartományi osztály egy mezőjét szeretné megadni partíciókulcs-mezőként, fűzze hozzá a következővel @PartitionKey: .
CRUD-művelet végrehajtásakor adja meg a partíció értékét.
További információkért lásd a teszt ittszakaszt.
Optimista zárolás módszer
Azure-spring-data-cosmos támogatja egyes tárolók optimista zárolását. Ez a támogatás azt jelenti, hogy az elemenkénti frissítés és törlés kivétellel meghiúsul, ha egy másik folyamat módosítja az elemet. További információért lásd az optimista zárolás szakaszát .
Spring Data egyéni lekérdezés, lapozható és rendezhető
Azure-spring-data-cosmos támogatja a Spring Data egyéni lekérdezéseket, például egy findByAFieldAndBField find műveletet. Támogatja a Spring Data Pageable, a Slice és a Sort lehetőséget is. További információkért lásd a lekérdezés, lapozás és rendezés című részt.
Az Azure Cosmos DB Java SDK használata a Spring Data Cosmoson keresztül
Azure-spring-data-cosmos támogatja a Azure Cosmos DB Java SDK használatát. A(z) ApplicationContext használatával lekérhet egy CosmosClient vagy CosmosAsyncClient beant, és végrehajthat bármilyen, az Azure Cosmos DB Java SDK által támogatott műveletet. További információért lásd az Azure Cosmos ügyfél használatát a Spring Data Cosmoson keresztül a szakaszban.
Spring Data REST
Azure-spring-data-cosmos támogatja Spring Data REST. További információért lásd a(z) Azure Spring Data Azure Cosmos DB REST API rész.
Könyvvizsgálat
Azure-spring-data-cosmos szabványos spring-data széljegyzetek használatával támogatja az adatbázis-entitások mezőinek naplózását. További információkért lásd a Spring Data Azure Cosmos DB naplózási szakaszt.
Többadatbázis-konfiguráció
Azure-spring-data-cosmos Támogatja a többadatbázisos konfigurációt, beleértve a több adatbázisfiókot és a több adatbázissal rendelkező egyetlen fiókot. A teljes kódrészletért tekintse meg a többadatbázis-konfigurációs szakaszt.
Hibaelhárítás
Általános
Ha hibába ütközik, küldjön egy problémát itt.
Ha új funkciót vagy módosításokat szeretne javasolni, ugyanúgy küldjön be egy hibát, mint egy hiba esetén.
Ügyfélnaplózás engedélyezése
Azure-spring-data-cosmos az SLF4j-t használja naplózási homlokzatként, amely támogatja a népszerű naplózási keretrendszerekbe, például a log4j-be és a logbackbe való bejelentkezést. További információért lásd a ügyfélnaplózás engedélyezése rész-t.
Példák
A teljes mintaprojektért tekintse meg a mintaprojektet.
Többadatbázisos fiókok
A teljes mintaprojektért tekintse meg a több adatbázis-mintaprojektet.
Egy fiók több adatbázissal
A teljes mintaprojektért tekintse meg a több adatbázisból álló mintaprojektet tartalmazó egyetlen fiókot.
Következő lépések
- További információ az Azure Spring Data és az Azure Cosmos DB szolgáltatásokról.
- További információ a Azure Cosmos DB szolgáltatásról.
- Tekintse meg a Azure Spring Data Azure Cosmos DB mintáit.
- Tekintse meg a Spring MVC-t Azure Cosmos DB mintával.
Hozzájárulni
Ez a projekt üdvözli a hozzájárulásokat és javaslatokat. A legtöbb hozzájárulás megköveteli, hogy elfogadja a közreműködői licencszerződést (CLA), deklarálva, hogy önnek joga van a hozzájárulás használatára, és ténylegesen meg kell adnia nekünk a hozzájárulás használatára vonatkozó jogosultságokat.
Lekéréses kérelem elküldésekor a CLA-robot automatikusan meghatározza, hogy meg kell-e adnia egy CLA-t, és megfelelően kell-e díszítenie a lekéréses kérelmet – például címkét, megjegyzést. Egyszerűen kövesse a robot utasításait. Ezt csak egyszer kell elvégeznie az összes adattár esetében a CLA használatával.
Ez a projekt elfogadta a Microsoft nyílt forráskódú magatartási kódexének . További információért lásd a magatartási kódex GYIK-ot, vagy bármilyen egyéb kérdéssel vagy megjegyzéssel lépjen kapcsolatba opencode@microsoft.com.