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 @PartitionKeypř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ř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.

Impressions