Průvodce vývojem ve službě 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, 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ř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.