Azure Cosmos DB – fejlesztői útmutató

Az Azure Cosmos DB-hez készült Azure Spring Data spring data-támogatást nyújt az Azure Cosmos DB for NoSQL-hez. Az 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 fogalmakkal és kódmintákkal kapcsolatos további információkért tekintse meg az Azure Cosmos DB SDK-hoz készült Spring Data-olvasó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ót a Spring Boot támogatási szabályzatában talál. 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, hogy a Spring kezelje a függőségek verzióit. További információ: Spring Boot-verzió támogatása.

Spring Data-verzió támogatása

Ez a projekt különböző spring-data-commons verziókat támogat. További információ: Spring Data-verzió támogatása.

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ó arról, hogy az Azure Spring Data Azure Cosmos DB melyik verzióját érdemes használni a Spring Boot/Spring Cloud verzióval, olvassa el az Azure Cosmos DB-hez készült Azure Spring Data melyik verzióját?

Első lépések

A csomag belefoglalása

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-es vagy újabb verzió.
  • Aktív Azure-fiók. Ha még nincs fiókja, létrehozhat egy ingyenes fiókot. Másik lehetőségként az Azure Cosmos DB Emulatort is használhatja a fejlesztéshez és teszteléshez. Mivel az emulátor https-tanúsítványa önaláírt, importálnia kell a tanúsítványát a Java megbízható tanúsítványtárolójába, amelyet itt talál.
  • (Nem kötelező) Az SLF4J egy fakitermelési homlokzat.
  • (Nem kötelező) Az 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ó: Az SLF4J felhasználói útmutatója.

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 terjeszteni 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 elemeketCosmosAsyncClient, ha megadja DirectConnectionConfig vagy GatewayConnectionConfig mindkettőt, és megadja nekik.CosmosClientBuilder A teljes mintaért látogasson el a konfiguráció testreszabása szakaszra.

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, 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 ReactiveCrudRepository az (aszinkron API-kat) és CrudRepository a (szinkronizálási API-kat), amelyek a következő alapvető CRUD-funkciókat biztosítják:

  • megment
  • findAll
  • findOne azonosító szerint
  • deleteAll
  • törlés azonosító szerint
  • entitás törlése

A Spring Data-adattárak alkalmazáshoz való beállításához (a sync API támogatásához) vagy ReactiveCosmosRepository (az aszinkron API-támogatáshoz) kiterjeszthető CosmosRepository . 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 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

A tartományosztály mezőinek leképezése idtöbb módon is lehetséges. További információ: spring data id annotation code section.

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ókért tekintse meg az azonosító automatikus létrehozását ismertető szakaszt.

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ésPolicy

Alapértelmezés szerint az IndexingPolicy Azure szolgáltatás állítja be. A testreszabáshoz adja hozzá a megjegyzést @CosmosIndexingPolicy a tartományosztályhoz. További információt az indexelési szabályzat szakaszában talál.

Egyedi kulcsszabályzat

Az Azure Spring Data Azure Cosmos DB támogatja a tárolón való beállítást UniqueKeyPolicy úgy, hogy hozzáadja a megjegyzést @CosmosUniqueKeyPolicy a tartományosztályhoz. További információt az egyedi kulcsszabályzat szakaszában talál.

Azure Cosmos DB-partíció

Azure-spring-data-cosmos támogatja az 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 jegyzetelje meg a következővel @PartitionKey: .

A CRUD művelet végrehajtásakor adja meg a partíció értékét.

További információkért tekintse meg a teszt ide vonatkozó szakaszát.

Optimista zárolás

Azure-spring-data-cosmos Támogatja az optimista zárolást adott tárolók esetében, ami azt jelenti, hogy az elemenkénti feltöltések/törlések kivétellel meghiúsulnak, ha az elemet időközben egy másik folyamat módosítja. További információ: optimista zárolási szakasz.

Spring Data egyéni lekérdezés, lapozható és rendezhető

Azure-spring-data-cosmos Támogatja az egyéni Spring Data-lekérdezéseket, például egy keresési műveletet, például findByAFieldAndBFielda . Emellett támogatja a Spring Data Pageable, a Szelet és a Rendezés lehetőséget is. További információkért tekintse meg a lekérdezés, a lapozható és a rendezési szakaszt.

Az Azure Cosmos DB Java SDK használata a Spring Data Cosmoson keresztül

Azure-spring-data-cosmosA támogatja a Azure Cosmos DB Java SDK A felhasználók az Azure Cosmos DB Java SDK által támogatott műveleteket lekérhetik CosmosClient vagy CosmosAsyncClientApplicationContext végrehajthatják. További információ: Az Azure Cosmos-ügyfél használata a Spring Data Cosmoson keresztül című szakaszban.

Spring Data REST

Azure-spring-data-cosmos támogatja a Spring Data REST-et. További információt az Azure Spring Data Azure Cosmos DB REST API-szakaszában talál.

Naplózás

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ót a Spring Data Azure Cosmos DB naplózási szakaszában talál.

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 "egy 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

General

Ha bármilyen 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 a 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ó: Az ügyfélnaplózás engedélyezése szakasz.

Példák

A teljes mintaprojektért tekintse meg a mintaprojektet.

Több adatbázisos fiókok

A teljes mintaprojektért tekintse meg a többadatbázisos mintaprojektet.

Egyetlen fiók több adatbázissal

A teljes mintaprojektért tekintse meg a többadatbázisos mintaprojekttel rendelkező egyetlen fiókot.

További lépések

Hozzájárulás

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), amely kimondja, hogy önnek joga van a hozzájárulás használatára, és valóban meg kell adnia nekünk a jogosultságokat a hozzájárulás használatára.

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árban a CLA használatával.

Ez a projekt a Microsoft nyílt forráskóddal kapcsolatos viselkedési szabályzata alapján működik. További információkért tekintse meg a magatartási kódex gyakori kérdéseit , vagy lépjen kapcsolatba opencode@microsoft.com más kérdésekkel vagy megjegyzésekkel.

Impressions