Azure Cosmos DB for NoSQL: przykłady zestawu Java SDK w wersji 4

DOTYCZY: NoSQL

Ważne

Aby dowiedzieć się więcej na temat zestawu Java SDK w wersji 4, zobacz informacje o wersji zestawu Java SDK usługi Azure Cosmos DB w wersji 4, repozytorium Maven, porady dotyczące wydajności zestawu Java SDK w wersji 4 usługi Azure Cosmos DB i przewodnik rozwiązywania problemów z zestawem Java SDK w wersji 4 usługi Azure Cosmos DB, aby uzyskać więcej informacji. Jeśli obecnie używasz starszej wersji niż 4, zobacz przewodnik Migrowanie do zestawu Java SDK usługi Azure Cosmos DB w wersji 4 , aby uzyskać pomoc dotyczącą uaktualniania do wersji 4.

Ważne

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

Możesz bezpłatnie wypróbować usługę Azure Cosmos DB bez subskrypcji platformy Azure i bez zobowiązania. Alternatywnie możesz utworzyć konto warstwy bezpłatnej usługi Azure Cosmos DB z pierwszymi 1000 RU/s i 25 GB miejsca do magazynowania bezpłatnie. Możesz również użyć emulatora usługi Azure Cosmos DB z identyfikatorem URI .https://localhost:8081 Aby uzyskać klucz do użycia z emulatorem, zobacz Uwierzytelnianie żądań.

Najnowsze przykładowe aplikacje, które wykonują operacje CRUD i inne typowe operacje na zasobach usługi Azure Cosmos DB, znajdują się w repozytorium GitHub azure-cosmos-java-sql-api-samples . Ten artykuł zawiera:

  • Linki do zadań w poszczególnych plikach projektów przykładowych w języku Java.
  • Linki do powiązanej dokumentacji interfejsu API.

Wymagania wstępne

Do uruchomienia tej aplikacji przykładowej potrzebne są następujące elementy:

  • Zestaw Java Development Kit 8
  • Zestaw Java SDK usługi Azure Cosmos DB w wersji 4

Opcjonalnie możesz użyć narzędzia Maven, aby uzyskać najnowsze pliki binarne zestawu Java SDK usługi Azure Cosmos DB w wersji 4 do użycia w projekcie. Rozwiązanie Maven automatycznie dodaje wszystkie wymagane zależności. Innym sposobem jest bezpośrednie pobranie zależności wymienionych w pliku pom.xml i dodanie ich do ścieżki kompilacji.

<dependency>
	<groupId>com.azure</groupId>
	<artifactId>azure-cosmos</artifactId>
	<version>LATEST</version>
</dependency>

Uruchamianie aplikacji przykładowych

Sklonuj repozytorium przykładowe:

$ git clone https://github.com/Azure-Samples/azure-cosmos-java-sql-api-samples.git

$ cd azure-cosmos-java-sql-api-samples

Przykłady można uruchamiać przy użyciu środowiska IDE (Eclipse, IntelliJ lub VS Code) albo z wiersza polecenia przy użyciu narzędzia Maven.

Te zmienne środowiskowe muszą być ustawione

ACCOUNT_HOST=your account hostname;ACCOUNT_KEY=your account primary key

w celu udzielenia przykładom dostępu do odczytu/zapisu na twoim koncie.

Aby uruchomić przykład, określ jej klasę główną

com.azure.cosmos.examples.sample.synchronicity.MainClass

gdzie może być sample.synchronicity.MainClass

  • crudquickstart.sync.SampleCRUDQuickstart
  • crudquickstart.async.SampleCRUDQuickstartAsync
  • indexmanagement.sync.SampleIndexManagement
  • indexmanagement.async.SampleIndexManagementAsync
  • storedprocedure.sync.SampleStoredProcedure
  • storedprocedure.async.SampleStoredProcedureAsync
  • kanał zmian. SampleChangeFeedProcessor (Changefeed ma tylko przykład asynchroniczny, bez próbki synchronizacji). Itp...

Uwaga

Przykłady są niezależne — każdy z nich jest automatycznie konfigurowany i automatycznie czyszczony po użyciu. Przykłady powodują wiele wywołań w celu utworzenia elementu CosmosContainer lub CosmosAsyncContainer. Za każdym razem w ramach subskrypcji jest naliczana opłata za 1 godzinę użycia warstwy wydajności, w której jest tworzona kolekcja.

Przykłady dotyczące baz danych

Przykładowe pliki CRUD bazy danych na potrzeby synchronizacji i asynchronizacji pokazują, jak wykonać następujące zadania. Aby dowiedzieć się więcej o bazach danych usługi Azure Cosmos DB przed uruchomieniem poniższych przykładów, zobacz Artykuł koncepcyjny Praca z bazami danych, kontenerami i elementami .

Zadanie Odwołanie do interfejsu API
Utwórz bazę danych CosmosClient.createDatabaseIfNotExists
CosmosAsyncClient.createDatabaseIfNotExists
Odczytywanie bazy danych na podstawie identyfikatora CosmosClient.getDatabase
CosmosAsyncClient.getDatabase
Odczytywanie wszystkich baz danych CosmosClient.readAllDatabases
CosmosAsyncClient.readAllDatabases
Usuwanie bazy danych CosmosDatabase.delete
CosmosAsyncDatabase.delete

Przykłady dotyczące kolekcji

Pliki przykładów CRUD kolekcji na potrzeby synchronizacji i asynchronizacji pokazują, jak wykonać następujące zadania. Aby dowiedzieć się więcej o kolekcjach usługi Azure Cosmos DB przed uruchomieniem poniższych przykładów, zobacz Artykuł koncepcyjny Praca z bazami danych, kontenerami i elementami .

Zadanie Odwołanie do interfejsu API
Tworzenie kolekcji CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists
Zmienianie skonfigurowanej wydajności kolekcji CosmosContainer.replaceThroughput
CosmosAsyncContainer.replaceProvisionedThroughput
Pobieranie kolekcji na podstawie identyfikatora CosmosDatabase.getContainer
CosmosAsyncDatabase.getContainer
Odczytywanie wszystkich kolekcji w bazie danych CosmosDatabase.readAllContainers
CosmosAsyncDatabase.readAllContainers
Usuwanie kolekcji CosmosContainer.delete
CosmosAsyncContainer.delete

Przykłady kolekcji automatycznego skalowania

Aby dowiedzieć się więcej o autoskalowaniu przed uruchomieniem tych przykładów, zapoznaj się z tymi instrukcjami dotyczącymi włączania autoskalowania na koncie oraz w bazach danych i kontenerach.

Przykładowe pliki bazy danych autoskalowania na potrzeby synchronizacji i asynchronizacji pokazują, jak wykonać następujące zadanie.

Zadanie Odwołanie do interfejsu API
Tworzenie bazy danych z określoną maksymalną przepływnością autoskalowania CosmosClient.createDatabase
CosmosAsyncClient.createDatabase

Pliki przykładów kolekcji autoskalowania na potrzeby synchronizacji i asynchronizacji pokazują, jak wykonać następujące zadania.

Zadanie Odwołanie do interfejsu API
Tworzenie kolekcji z określoną maksymalną przepływnością skalowania automatycznego CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists
Zmiana skonfigurowanej maksymalnej przepływności autoskalowania kolekcji CosmosContainer.replaceThroughput
CosmosAsyncContainer.replaceThroughput
Odczytywanie konfiguracji przepływności autoskalowania kolekcji CosmosContainer.readThroughput
CosmosAsyncContainer.readThroughput

Przykłady kolekcji magazynu analitycznego

Pliki przykładów CRUD kolekcji magazynu analitycznego na potrzeby synchronizacji i asynchronizacji pokazują, jak wykonać następujące zadania. Aby dowiedzieć się więcej o kolekcjach usługi Azure Cosmos DB przed uruchomieniem poniższych przykładów, przeczytaj o usłudze Azure Cosmos DB Synapse i magazynie analitycznym.

Zadanie Odwołanie do interfejsu API
Tworzenie kolekcji CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists

Przykłady dotyczące elementów

Pliki przykładów CRUD dokumentu na potrzeby synchronizacji i asynchronizacji pokazują, jak wykonać następujące zadania. Aby dowiedzieć się więcej o dokumentach usługi Azure Cosmos DB przed uruchomieniem poniższych przykładów, zobacz Artykuł koncepcyjny Dotyczący pracy z bazami danych, kontenerami i elementami .

Uwaga

Podczas wykonywania operacji na określonym elemencie należy określić klucz partycji.

Zadanie Odwołanie do interfejsu API
Tworzenie dokumentu CosmosContainer.createItem
CosmosAsyncContainer.createItem
Odczytywanie dokumentu na podstawie identyfikatora CosmosContainer.readItem
CosmosAsyncContainer.readItem
Wykonywanie zapytań dotyczących dokumentów CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Zastępowanie dokumentu CosmosContainer.replaceItem
CosmosAsyncContainer.replaceItem
Wykonywanie operacji upsert dla dokumentu CosmosContainer.upsertItem
CosmosAsyncContainer.upsertItem
Usuwanie dokumentu CosmosContainer.deleteItem
CosmosAsyncContainer.deleteItem
Zastępowanie dokumentu warunkowym sprawdzaniem elementu ETag CosmosItemRequestOptions.setIfMatchETag (synchronizacja)
CosmosItemRequestOptions.setIfMatchETag (async)
Odczytywanie dokumentu tylko wtedy, gdy został zmieniony CosmosItemRequestOptions.setIfNoneMatchETag (synchronizacja)
CosmosItemRequestOptions.setIfNoneMatchETag (async)
Częściowa aktualizacja dokumentu CosmosContainer.patchItem
Zbiorcza aktualizacja dokumentu Przykłady zbiorcze
Partia transakcyjna przykłady wsadowe

Przykłady dotyczące indeksowania

W pliku Collection CRUD Samples pokazano, jak wykonać następujące zadania. Aby dowiedzieć się więcej o indeksowaniu w usłudze Azure Cosmos DB przed uruchomieniem poniższych przykładów, zobacz artykuły koncepcyjne dotyczące zasad indeksowania, typów indeksowania i ścieżek indeksowania.

Zadanie Odwołanie do interfejsu API
Uwzględnij określone ścieżki dokumentów w indeksie IndexingPolicy.IncludedPaths
Wyklucz określone ścieżki dokumentów z indeksu IndexingPolicy.ExcludedPaths
Tworzenie indeksu złożonego IndexingPolicy.setCompositeIndexes
Ścieżka złożona
Tworzenie indeksu geoprzestrzennego IndexingPolicy.setSpatialIndexes
SpatialSpec
Typ przestrzenny

Aby uzyskać więcej informacji na temat indeksowania, zobacz Azure Cosmos DB indexing policies (Zasady indeksowania w usłudze Azure Cosmos DB).

Przykłady zapytań

Pliki przykładów zapytań do synchronizacji i asynchronicznego pokazują, jak wykonywać następujące zadania przy użyciu gramatyki zapytań SQL. Aby dowiedzieć się więcej o dokumentacji zapytań SQL w usłudze Azure Cosmos DB przed uruchomieniem poniższych przykładów, zobacz Przykłady zapytań SQL dla usługi Azure Cosmos DB.

Zadanie Odwołanie do interfejsu API
Wykonywanie zapytań dotyczących wszystkich dokumentów CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Wykonywanie zapytań dotyczących równości przy użyciu operatora == CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Wykonywanie zapytań dotyczących nierówności przy użyciu operatorów != i NOT CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Wykonywanie zapytań przy użyciu operatorów zakresu, takich jak >, <>= , = < CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Wykonywanie zapytań przy użyciu operatorów zakresu względem ciągów CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Wykonywanie zapytań za pomocą funkcji ORDER BY CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Wykonywanie zapytań za pomocą funkcji DISTINCT CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Wykonywanie zapytań za pomocą funkcji agregujących CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Praca z dokumentami podrzędnymi CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Wykonywanie zapytań przy użyciu sprzężeń wewnątrz dokumentu CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Wykonywanie zapytań przy użyciu operatorów ciągów, matematycznych i tablic CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Wykonywanie zapytań ze sparametryzowanym kodem SQL przy użyciu elementu SqlQuerySpec CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Wykonywanie zapytań przy użyciu stronicowania jawnego CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Równoległe wykonywanie zapytań o kolekcje partycjonowane CosmosContainer.queryItems
CosmosAsyncContainer.queryItems

Przykłady zestawienia zmian

Przykładowy plik procesora zestawienia zmian pokazuje, jak wykonać następujące zadania. Aby dowiedzieć się więcej na temat zestawienia zmian w usłudze Azure Cosmos DB przed uruchomieniem poniższych przykładów, zobacz Odczyt zestawienia zmian usługi Azure Cosmos DB i procesor zestawienia zmian.

Zadanie Odwołanie do interfejsu API
Podstawowa funkcja zestawienia zmian ChangeFeedProcessor.changeFeedProcessorBuilder
Odczytywanie zestawienia zmian od początku ChangeFeedProcessorOptions.setStartFromBeginning()

Przykłady programowania po stronie serwera

W przykładowym pliku procedury składowanej pokazano, jak wykonać następujące zadania. Aby dowiedzieć się więcej o programowaniu po stronie serwera w usłudze Azure Cosmos DB przed uruchomieniem poniższych przykładów, zobacz Procedury składowane, wyzwalacze i funkcje zdefiniowane przez użytkownika.

Zadanie Odwołanie do interfejsu API
Tworzenie procedury składowanej CosmosScripts.createStoredProcedure
Wykonywanie procedury składowanej CosmosStoredProcedure.execute
Usuwanie procedury składowanej CosmosStoredProcedure.delete

Następne kroki

Próbujesz zaplanować pojemność migracji do usługi Azure Cosmos DB? Informacje o istniejącym klastrze bazy danych można użyć do planowania pojemności.