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 aktywować korzyści subskrybenta programu Visual Studio: w ramach subskrypcji programu Visual Studio co miesiąc otrzymasz środki, które można przeznaczyć na płatne usługi 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). itd...
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.
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.
- Jeśli wiesz, ile rdzeni wirtualnych i serwerów znajduje się w istniejącym klastrze bazy danych, przeczytaj o szacowaniu jednostek żądań przy użyciu rdzeni wirtualnych lub procesorów wirtualnych
- Jeśli znasz typowe stawki żądań dla bieżącego obciążenia bazy danych, przeczytaj o szacowaniu jednostek żądań przy użyciu planisty pojemności usługi Azure Cosmos DB