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, amely lehetővé teszi a fejlesztők számára, hogy különböző szabványos API-k, például az SQL, a MongoDB, a Cassandra, a Graph és a Table használatával dolgozzanak az adatokkal.
Ez az útmutató bemutatja az Azure Spring Data Azure Cosmos DB SDK fogalmait, a támogatott funkciókat, a hibaelhárítást és az ismert problémákat. Az alábbi fogalmakról és kódmintákról további információért tekintse meg a Spring Data for Azure Cosmos DB SDK Readme-t.
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 szakasz beszerzéséhez, amely lehetővé teszi a Spring számára a függőségek verzióinak kezelését. 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
Az Azure Spring Data Azure Cosmos DB-kódtár a Spring Boot/Spring Cloud több verzióját is támogatja. További információ az Azure Spring Data Azure Cosmos DB Spring Boot/Spring Cloud verziójával való használatáról: Az Azure Cosmos DB-hez készült Azure Spring Data melyik verzióját érdemes használni?.
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 https-tanúsítványa önaláírt, a tanúsítványt a Java megbízható tanúsítványtárolójába kell importálnia, itt
- (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
Az SLF4J-ra csak akkor van szükség, ha naplózást tervez 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 ki kell terjesztenie AbstractCosmosConfiguration. További információ: Beállítási konfigurációs osztály.
Testre szabhatja az Azure Spring Data Azure Cosmos DB SDK által használt mögöttes CosmosAsyncClient-t úgy, hogy megadja a DirectConnectionConfig, GatewayConnectionConfig vagy mindkettőt, és ezeket megadja a CosmosClientBuilderszámára. A teljes minta megtekintéséhez keresse fel a konfiguráció testreszabási szakaszát.
Entitás beállítása
Egy egyszerű entitást elemként definiálhat az Azure Cosmos DB-ben. 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, kérelemegységek (RUs) megadását, az élettartam időkorlátozását, automatikus skálázási teljesítménytámogatással rendelkező tárolók létrehozását, 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.
Az Azure Spring Data Azure Cosmos DB támogatja a jegyzetekkel ellátott lekérdezések megadását az adattárakban @Queryhasználatával. 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
A tartományosztály egy mezőjét többféleképpen is leképezheti id-ra. 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 @GeneratedValue széljegyzet 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 lesz. A testreszabáshoz 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 IndexingPolicy az Azure szolgáltatás állítja be. A testreszabáshoz adja hozzá a megjegyzést @CosmosIndexingPolicy a tartományosztályhoz. További információ: indexelési szabályzat szakasz.
Egyedi kulcsszabályzat
Az Azure Spring Data Azure Cosmos DB támogatja UniqueKeyPolicy beállítását a tárolón a megjegyzés @CosmosUniqueKeyPolicy a tartományosztályhoz való hozzáadásával. 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 egyik mezőjét partíciókulcs-mezőként szeretné megadni, egyszerűen fűzze hozzá @PartitionKey.
A 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 az optimista zárolást meghatározott tárolók számára, ami azt jelenti, hogy az elemenkénti beszúrások/módosítások/törlések kivétellel meghiúsulnak, ha az elemet időközben egy másik folyamat módosítja. 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 egyéni Spring Data-lekérdezéseket, például egy keresési műveletet, mint a findByAFieldAndBField. Emellett támogatja a Spring Data Pageable, Slice és Sort funkciókat. További információért lásd a lekérdezést: lapozhatósági és rendezési szakasz.
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 SDKhasználatát. A felhasználók CosmosClient keresztül kaphatnak CosmosAsyncClient vagy ApplicationContext objektumot, és végrehajthatják az Azure Cosmos DB Java SDK által támogatott műveleteket. 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 támogatja az adatbázis-entitások mezőinek naplózását standard spring-data széljegyzetek használatával. 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 az "egyetlen fiókot több adatbázissal". A teljes kódrészletért tekintse meg a többadatbázis-konfigurációs szakaszt.
Hibaelhárítás
Általános
Ha bármilyen hibával találkozna, jelentsen egy hibá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öbbadatbázisos mintaprojektet.
Egy fiók több adatbázissal
A teljes mintaprojektért tekintse meg a többadatbázisos mintaprojekttel rendelkező 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ó az Azure Cosmos DB Service
- Tekintse meg az Azure Spring Data Azure Cosmos DB-mintáit
- Tekintse meg a Spring MVC és Azure Cosmos DB mintát
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.