Megosztás a következőn keresztül:


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, 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

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.