Příručka pro vývojáře Azure Cosmos DB
Azure Spring Data pro Azure Cosmos DB poskytuje podporu Spring Data pro Azure Cosmos DB for NoSQL. Azure Cosmos DB je globálně distribuovaná databázová služba, která vývojářům umožňuje pracovat s daty pomocí různých standardních rozhraní API, jako jsou SQL, MongoDB, Cassandra, Graph a Table.
Tato příručka vás provede koncepty sady Azure Spring Data SDK služby Azure Cosmos DB, podporovanými funkcemi, řešením potíží a známými problémy. Další informace o následujících konceptech a ukázkách kódu najdete v souboru Readme sady Spring Data for Azure Cosmos DB SDK.
Zásady podpory verzí
Podpora verze Spring Bootu
Tento projekt podporuje více verzí Spring Boot. Další informace najdete v tématu Zásady podpory spring bootu. Uživatelé Mavenu spring-boot-starter-parent
můžou dědit z projektu, aby získali oddíl správy závislostí, aby aplikace Spring spravila verze závislostí. Další informace najdete v tématu Podpora verzí Spring Boot.
Podpora verzí Spring Data
Tento projekt podporuje různé verze spring-data-commons. Další informace najdete v tématu Podpora verzí Spring Data.
Jakou verzi Azure Spring Data Azure Cosmos DB použít
Knihovna Azure Spring Data Azure Cosmos DB podporuje více verzí Spring Bootu nebo Spring Cloudu. Další informace o tom, jakou verzi Azure Spring Data Azure Cosmos DB použít s verzí Spring Boot / Spring Cloud, najdete v tématu Kterou verzi Azure Spring Data pro Azure Cosmos DB mám použít?.
Začínáme
Zahrnout balíček
Pokud používáte Maven, přidejte následující závislost.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-spring-data-cosmos</artifactId>
<version>LATEST</version>
</dependency>
Požadavky
- Java Development Kit (JDK) verze 8 nebo vyšší.
- Aktivní účet Azure Pokud žádný nemáte, můžete si zaregistrovat bezplatný účet. Alternativně můžete k vývoji a testování použít emulátor služby Azure Cosmos DB. Vzhledem k tomu, že certifikát HTTPS emulátoru je podepsaný svým držitelem, musíte importovat jeho certifikát do důvěryhodného úložiště certifikátů Java, jak je vysvětleno tady.
- (Volitelné) SLF4J je fasáda protokolování.
- (Volitelné) Vazba SLF4J slouží k přidružení konkrétní architektury protokolování k SLF4J.
- (Volitelné) Maven
SLF4J je potřeba jenom v případě, že plánujete použít protokolování, stáhněte si také vazbu SLF4J, která propoje rozhraní API SLF4J s implementací protokolování podle vašeho výběru. Další informace najdete v uživatelské příručce k SLF4J.
Nastavení a přizpůsobení třídy konfigurace
Chcete-li nastavit třídu konfigurace, musíte rozšířit AbstractCosmosConfiguration
. Další informace naleznete v tématu Instalační třída konfigurace.
Podklady CosmosAsyncClient
používané sadou AZURE Spring Data SDK služby Azure Cosmos DB si můžete přizpůsobit tak, že je poskytnete DirectConnectionConfig
nebo GatewayConnectionConfig
poskytnete CosmosClientBuilder
. Úplnou ukázku najdete v části přizpůsobení konfigurace.
Nastavení entity
Jednoduchou entitu můžete definovat jako položku ve službě Azure Cosmos DB. Entity můžete definovat přidáním @Container
anotace a určením vlastností souvisejících s kontejnerem. Další informace najdete v tématu Definování entity.
Anotace kontejneru podporuje zadání názvu kontejneru, jednotek žádostí (RU), doby provozu, vytváření kontejnerů s propustností automatického škálování, podporou vnořeného klíče oddílu a dalších vlastností kontejneru.
Nastavení úložiště
Azure Spring Data Azure Cosmos DB podporuje ReactiveCrudRepository
(asynchronní rozhraní API) a CrudRepository
(synchronizační rozhraní API), která poskytují následující základní funkce CRUD:
- save
- Findall
- findOne by ID
- deleteAll
- odstranit podle ID
- delete entity
Můžete rozšířit CosmosRepository
(pro podporu rozhraní API synchronizace) nebo ReactiveCosmosRepository
(pro podporu asynchronního rozhraní API) nastavit úložiště Spring Data pro vaši aplikaci. Další informace najdete v tématu Vytváření úložišť.
Azure Spring Data Azure Cosmos DB podporuje zadávání anotovaných dotazů v úložištích pomocí @Query
. Další informace najdete v tématu QueryAnnotation: Použití anotovaných dotazů v úložištích.
Poznámky Spring Data
Poznámky k @Id Spring Data
Existuje několik způsobů, jak mapovat pole v doménové třídě na id
. Další informace najdete v oddílu kódu anotace ID spring data.
Automatické generování ID
Azure Spring Data Azure Cosmos DB podporuje automatické generování ID pomocí poznámky @GeneratedValue . Další informace najdete v části automatického generování ID.
Výraz SpEL a vlastní název kontejneru
Ve výchozím nastavení bude název kontejneru názvem třídy domény uživatele. Pokud chcete přizpůsobit, přidejte poznámku @Container(containerName="myCustomContainerName")
do třídy domény. Další informace najdete v části Výraz SpEL a vlastní název kontejneru.
Custom IndexingPolicy
Ve výchozím nastavení IndexingPolicy
bude služba Azure nastavena. Pokud chcete přizpůsobit, přidejte poznámku @CosmosIndexingPolicy
do třídy domény. Další informace najdete v části zásady indexování.
Zásady jedinečného klíče
Azure Spring Data Azure Cosmos DB podporuje nastavení UniqueKeyPolicy
kontejneru přidáním poznámky @CosmosUniqueKeyPolicy
do doménové třídy. Další informace najdete v části s jedinečnými klíči zásad.
Oddíl služby Azure Cosmos DB
Azure-spring-data-cosmos
podporuje oddíly Azure Cosmos DB.
Pokud chcete zadat pole třídy domény, které má být polem klíče oddílu, stačí k němu @PartitionKey
připsat poznámku .
Při provádění operace CRUD zadejte hodnotu oddílu.
Další informace najdete v této části testu.
Optimistické uzamčení
Azure-spring-data-cosmos
podporuje optimistické uzamčení pro konkrétní kontejnery, což znamená, že upserts/deletes by item selže s výjimkou v případě, že se položka mezitím upraví jiným procesem. Další informace najdete v části optimistické uzamčení.
Vlastní dotaz Spring Data, stránkovatelné a řazení
Azure-spring-data-cosmos
podporuje vlastní dotazy Spring Data, například operaci hledání, například findByAFieldAndBField
. Podporuje také pageable spring data, průřez a řazení. Další informace najdete v oddílu dotazu, stránkovatelného a řazení.
Použití sady Java SDK služby Azure Cosmos DB prostřednictvím Služby Spring Data Cosmos
Azure-spring-data-cosmos
podporuje použití Azure Cosmos DB Java SDK
. Uživatelé můžou získat nebo CosmosAsyncClient
sejít CosmosClient
a ApplicationContext
spouštět všechny operace podporované sadou Java SDK služby Azure Cosmos DB. Další informace najdete v části Používání klienta Azure Cosmos prostřednictvím služby Spring Data Cosmos.
Spring Data REST
Azure-spring-data-cosmos
podporuje Spring Data REST. Další informace najdete v části Rozhraní REST API služby Azure Spring Data služby Azure Cosmos DB.
Auditování
Azure-spring-data-cosmos
podporuje auditování polí u databázových entit pomocí standardních poznámek spring-data. Další informace najdete v části Auditování služby Spring Data Azure Cosmos DB.
Konfigurace více databází
Azure-spring-data-cosmos
podporuje konfiguraci více databází, včetně "více databázových účtů" a "jednoho účtu s více databázemi". Kompletní fragment kódu najdete v části konfigurace více databází.
Řešení problému
OBECNÉ
Pokud narazíte na nějakou chybu, zapište sem problém.
Pokud chcete navrhnout novou funkci nebo změny, které by bylo možné provést, vytvořte problém stejným způsobem jako u chyby.
Povolit protokolování klienta
Azure-spring-data-cosmos
používá jako fasádu protokolování SLF4j, která podporuje přihlašování k oblíbeným rozhraním protokolování, jako jsou log4j a logback. Další informace najdete v části povolení protokolování klienta.
Příklady
Úplný ukázkový projekt najdete v ukázkovém projektu.
Účty pro více databází
Úplný ukázkový projekt najdete v ukázkovém projektu s více databázemi.
Jeden účet s více databázemi
Úplný ukázkový projekt najdete v jednom účtu s ukázkovým projektem s více databázemi.
Další kroky
- Přečtěte si další informace o službě Azure Spring Data Azure Cosmos DB.
- Další informace o službě Azure Cosmos DB
- Podívejte se na ukázky Azure Spring Data Azure Cosmos DB.
- Podívejte se na ukázku Spring MVC se službou Azure Cosmos DB
Přispívající
Tento projekt vítá příspěvky a návrhy. Většina příspěvků vyžaduje souhlas s licenční smlouvou s přispěvatelem (CLA), která deklaruje, že máte právo a ve skutečnosti nám udělíte práva k používání vašeho příspěvku.
Když odešlete žádost o přijetí změn, robot CLA automaticky určí, jestli potřebujete poskytnout CLA a odpovídajícím způsobem vyzdobit žádost o přijetí změn (například popisek, komentář). Stačí postupovat podle pokynů poskytovaných robotem. Stačí to udělat jenom jednou pro všechna úložiště pomocí naší cla.
Tento projekt se řídí Pravidly chování pro Microsoft Open Source. Další informace najdete v nejčastějších dotazech k kodexu chování nebo se spojte opencode@microsoft.com s dalšími dotazy nebo komentáři.