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, kterou můžou vývojáři používat k práci s daty pomocí různých standardních rozhraní API, jako jsou SQL, MongoDB, Cassandra, Graph a Table.
Tato příručka vysvětluje koncepty sady Azure Spring Data Azure Cosmos DB SDK, podporovaných funkcí, řešení potíží a známých problémů. Další informace o těchto 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 naleznete v dokumentu zásad podpory Spring Bootu. Uživatelé Mavenu spring-boot-starter-parent můžou dědit z projektu a získat oddíl správy závislostí, který umožňuje Spring spravovat verze závislostí. Další informace najdete v tématu podpora verzí Spring Boot.
Podpora verzí Spring Data
Tento projekt podporuje různé spring-data-commons verze. 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 Boot a Spring Cloud. Další informace o tom, jakou verzi Azure Spring Data Azure Cosmos DB použít s Spring Bootem a Spring Cloudem, najdete v tématu Jakou 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 emulátor používá certifikát HTTPS podepsaný svým držitelem, musíte ho importovat do Java důvěryhodného úložiště certifikátů, jak je 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
Pokud plánujete používat protokolování, potřebujete jenom SLF4J. Stáhněte si také vazbu SLF4J, která propojuje 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
Chcete-li vytvořit třídu konfigurace, rozšiřte ji o AbstractCosmosConfiguration. Další informace naleznete v tématu Nastavení třídy konfigurace.
CosmosAsyncClient, který používá sada Azure Spring Data Azure Cosmos DB SDK, můžete přizpůsobit tak, že zadáte DirectConnectionConfig, GatewayConnectionConfig nebo obojí a předáte je do CosmosClientBuilder. Úplnou ukázku najdete v části přizpůsobení konfigurace.
Nastavení entity
Jednoduchou entitu můžete definovat jako položku v Azure Cosmos DB. Definujte entity přidáním @Container anotace a zadáním vlastností souvisejících s kontejnerem. Další informace naleznete v tématu Definování entity.
Anotace kontejneru podporuje zadání názvu kontejneru, jednotek žádostí (RU), doby života, vytváření kontejnerů s automaticky škálovanou propustností, podporu 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:
- 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
Pole v doménové třídě můžete mapovat na id několika způsoby. 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í je název kontejneru názvem třídy domény uživatele. Pokud chcete přizpůsobit název kontejneru, přidejte poznámku @Container(containerName="myCustomContainerName") do třídy domény. Další informace naleznete v části o výrazu SpEL a vlastním názvu kontejneru.
Vlastní Indexovací Pravidla
Ve výchozím nastavení služba Azure nastaví IndexingPolicy. Chcete-li upravit IndexingPolicy, 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í kontejneru UniqueKeyPolicy 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.
Chcete-li zadat pole třídy domény jako pole klíče oddílu, anotujte ho 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. Tato podpora znamená, že upserty a odstranění podle položky selžou s výjimkou, pokud položku změní jiný proces. 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é Pageable, Slice a Sort ze Spring Data. Další informace naleznete v oddílu o dotazech, 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. Prostřednictvím ApplicationContext můžete získat objekt typu CosmosClient nebo CosmosAsyncClient a provádět všechny operace podporované sadou Azure Cosmos DB Java SDK. 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 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émů
Obecné
Pokud narazíte na chybu, zapište sem problém.
Pokud chcete navrhnout novou funkci nebo změny, 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 jednom účtu s více ukázkovými projekty databází.
Další kroky
- Přečtěte si více o Azure Spring Data a Azure Cosmos DB.
- Přečtěte si další informace o službě Azure Cosmos DB Service.
- Podívejte se na ukázky Azure Spring Data Azure Cosmos DB.
- Podívejte se na spring MVC s ukázkou 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.