Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 Spring Data pro sadu Sdk služby Azure Cosmos DB.
Zásady podpory verzí
Podpora verze Spring Bootu
Tento projekt podporuje více verzí Spring Boot. Další informace naleznete v dokumentu zásad podpory Spring Bootu. Uživatelé Mavenu můžou dědit z projektu spring-boot-starter-parent, aby získali oddíl správy závislostí, který umožní Spring spravovat 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
Přidejte 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 ho nemáte, můžete si zaregistrovat bezplatný účet. Alternativně můžete použít emulátor služby Azure Cosmos DB pro vývoj a testování. 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, vysvětleno tady
- (Volitelné) SLF4J je rozhraní pro protokolování.
- (Volitelné) vazba SLF4J slouží k přidružení specifického rámce pro 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 naleznete v uživatelské příručce SLF4J .
Nastavení a přizpůsobení třídy konfigurace
Pokud chcete nastavit třídu konfigurace, musíte rozšířit AbstractCosmosConfiguration. Další informace naleznete v tématu Nastavení třídy konfigurace.
Základní CosmosAsyncClient používané sadou Azure Spring Data Azure Cosmos DB SDK můžete přizpůsobit poskytnutím DirectConnectionConfig nebo GatewayConnectionConfig, případně obou, a předáním do CosmosClientBuilder. Kompletní ukázku najdete v sekci přizpůsobení konfigurace .
Nastavení entity
Jednoduchou entitu můžete definovat jako položku ve službě Azure Cosmos DB. Entity můžete definovat tak, že přidáte @Container poznámku a zadáte vlastnosti související s kontejnerem. Další informace naleznete v tématu Definování entity.
Anotace kontejneru podporuje zadání názvu kontejneru, jednotek žádostí (RU), doby životnosti, vytváření kontejnerů s automaticky škálovatelnou propustností, podporu vnořeného klíče oddílu a další vlastnosti 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:
- uložit
- nalezniVše
- najítJedno podle ID
- smazat vše
- odstranit podle ID
- smazat entitu
Můžete rozšířit CosmosRepository (pro podporu rozhraní API pro synchronizaci) nebo ReactiveCosmosRepository (pro podporu asynchronního rozhraní API) a nastavit úložiště Spring Data pro vaši aplikaci. Další informace najdete v tématu Vytvoř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ámka Spring Data @Id
Existuje několik způsobů, jak mapovat pole ve třídě domény 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 @Container(containerName="myCustomContainerName") poznámku do třídy domény. Další informace naleznete v části o výrazu SpEL a vlastním názvu kontejneru.
Vlastní Indexovací Pravidla
Služba Azure ve výchozím nastavení nastaví IndexingPolicy. Pokud chcete přizpůsobit, přidejte poznámku @CosmosIndexingPolicy do třídy domény. Pro více informací se podívejte do části zásad indexování .
Zásady jedinečného klíče
Azure Spring Data Azure Cosmos DB podporuje nastavení UniqueKeyPolicy v kontejneru přidáním poznámky @CosmosUniqueKeyPolicy do třídy domény. Další informace najdete v části jedinečných klíčových zásad.
Oddíl 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 připsat poznámku pomocí @PartitionKey.
Při provádění operace CRUD zadejte hodnotu oddílu.
Další informace viz část test zde v oddílu.
Optimistické uzamčení
Azure-spring-data-cosmos podporuje optimistické uzamčení pro konkrétní kontejnery, což znamená, že operace vložení nebo aktualizace a odstranění podle položky selžou s výjimkou, pokud je položka mezitím upravena jiným procesem. Další informace najdete v sekci optimistické uzamčení.
Vlastní dotaz Spring Data, stránkování a řazení
Azure-spring-data-cosmos podporuje vlastní dotazy Spring Data, například operaci hledání, jako je findByAFieldAndBField. Podporuje také Spring Data Pageable, Řez a Třídit. Další informace najdete v dotazu a v oddílu, který se týká stránkování 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 CosmosClient nebo CosmosAsyncClient bean prostřednictvím ApplicationContext a spouštět všechny operace podporované sadou Java SDK služby Azure Cosmos DB. Další informace najdete v použití klienta Azure Cosmos v části Spring Data Cosmos.
Spring Data REST
Azure-spring-data-cosmos podporuje Spring Data REST. Další informace najdete v sekci rozhraní REST API Azure Spring Data Azure Cosmos DB.
Kontrola
Azure-spring-data-cosmos podporuje pole auditování 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 účtů databáze" a "jednoho účtu s více databázemi". Kompletní fragment kódu najdete v části konfigurace více databází.
Řešení problémů
Obecné
Pokud dojde k nějaké chybě, zapište problém sem.
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 protokolování do oblíbených rozhraní protokolování, jako jsou log4j a logback. Další informace najdete v sekci povolení protokolování klienta.
Příklady
Úplný ukázkový projekt najdete v ukázkového projektu.
Účty s více databázemi
Ú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 ukázkový projekt s jedním účtem pro více databází.
Další kroky
- Přečtěte si více o Azure Spring Data a 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ázkový příklad Spring MVC s Azure Cosmos DB
Přispívání
Tento projekt vítá příspěvky a návrhy. Většina příspěvků vyžaduje, abyste souhlasili s licenční smlouvou pro přispěvatele (CLA), kterou deklarujete, že máte právo a že nám udělujete práva k používání vašeho příspěvku.
Když odešlete žádost o přijetí změn, CLA-bot automaticky určí, jestli potřebujete poskytnout CLA a odpovídajícím způsobem označit žádost o přijetí změn – například přidá popisek nebo komentář. Stačí postupovat podle pokynů poskytovaných robotem. Stačí to udělat jenom jednou pro všechna úložiště využívající naši smlouvu CLA.
Tento projekt přijal Kodex chování pro open source od Microsoftu. Další informace najdete v nejčastějších dotazech k kodexu chování nebo kontaktujte opencode@microsoft.com s dalšími dotazy nebo komentáři.