Azure Cosmos DB fejlesztői útmutató

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

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.