Azure Cosmos DB для NoSQL: примеры пакета SDK для Java версии 4

ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL

Важно!

Дополнительные сведения о пакете SDK Java версии 4 см. в заметках о выпуске для пакета SDK Java для Azure Cosmos DB версии 4, репозитории Maven, рекомендациях по повышению производительности для пакета SDK Java для Azure Cosmos DB версии 4, а также в руководстве по устранению неполадок для пакета SDK Java версии 4 для Azure Cosmos DB версии 4. Если сейчас вы используете более раннюю версию, чем версия 4, руководство Перевод приложения на использование пакета средств разработки Java для Azure Cosmos DB версии 4 поможет вам обновить его до версии 4.

Важно!

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

Пробную версию Azure Cosmos DB можно использовать бесплатно, без подписки Azure и без и каких-либо обязательств. Кроме того, вы можете создать учетную запись Azure Cosmos DB категории "Бесплатный". Для этой учетной записи бесплатно предоставляются первые 1000 ЕЗ/с и 25 ГБ пространства в хранилище. Также можно использовать эмулятор Azure Cosmos DB, который доступен по URI https://localhost:8081. Сведения о ключе для использования с эмулятором см. в этом разделе.

Новейшие примеры приложений, которые выполняют операции CRUD и другие распространенные операции с ресурсами Azure Cosmos DB, содержатся в репозитории GitHub azure-cosmos-java-sql-api-samples. Эта статья содержит:

  • Ссылки на задачи в каждом из примеров файлов проектов Java.
  • Ссылки на соответствующие справочные материалы по API.

Необходимые условия

Чтобы запустить пример приложения, необходимы следующие компоненты:

  • комплект разработчика Java 8;
  • Пакет SDK Java версии 4 для Azure Cosmos DB

При необходимости можно использовать Maven, чтобы получить последние двоичные файлы пакета SDK Java версии 4 для Azure Cosmos DB для использования в этом проекте. Maven автоматически добавляет все необходимые зависимости. В противном случае можно непосредственно скачать зависимости, которые перечислены в файле pom.xml, и добавить их в путь сборки.

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

Запуск примеров приложений

Клонирование примера репозитория:

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

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

Примеры можно запустить с помощью интегрированной среды разработки (Eclipse, IntelliJ или VS Code) или из командной строки с помощью Maven.

Необходимо задать эти переменные среды:

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

Это предоставит примерам доступ на чтение и запись для вашей учетной записи.

Чтобы запустить пример, укажите его основной класс:

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

В качестве sample.synchronicity.MainClass может использоваться:

  • crudquickstart.sync.SampleCRUDQuickstart
  • crudquickstart.async.SampleCRUDQuickstartAsync
  • indexmanagement.sync.SampleIndexManagement
  • indexmanagement.async.SampleIndexManagementAsync
  • storedprocedure.sync.SampleStoredProcedure
  • storedprocedure.async.SampleStoredProcedureAsync
  • changefeed.SampleChangeFeedProcesso (Для канала изменений доступен только пример асинхронности, пример синхронности отсутствует.) и т. д…

Примечание.

Каждый пример является самодостаточным, он устанавливается самостоятельно и выполняет необходимую очистку после удаления. В примерах выполняется несколько вызовов для создания CosmosContainer или CosmosAsyncContainer. Каждый раз, когда это происходит, вам выставляется счет за 1 час использования каждого уровня производительности создаваемой коллекции.

Примеры баз данных

Примеры файлов CRUD базы данных для sync и async демонстрируют то, как выполнять следующие задачи. Дополнительные сведения о базах данных Azure Cosmos DB перед выполнением следующих примеров см . в статье "Работа с базами данных, контейнерами и элементами ".

Задача Справочник по API
Создание базы данных CosmosClient.createDatabaseIfNotExists
CosmosAsyncClient.createDatabaseIfNotExists
Чтение базы данных по идентификатору CosmosClient.getDatabase
CosmosAsyncClient.getDatabase
Чтение всех баз данных CosmosClient.readAllDatabases
CosmosAsyncClient.readAllDatabases
Удаление базы данных CosmosDatabase.delete
CosmosAsyncDatabase.delete

Примеры коллекций

Примеры файлов CRUD коллекции для sync и async выполнения демонстрируют то, как выполнять следующие задачи. Сведения о коллекциях Azure Cosmos DB перед выполнением следующих примеров см . в статье о работе с базами данных, контейнерами и элементами .

Задача Справочник по API
Создание коллекции CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists
Изменение настроенной производительности коллекции CosmosContainer.replaceThroughput
CosmosAsyncContainer.replaceProvisionedThroughput
Получение коллекции по идентификатору CosmosDatabase.getContainer
CosmosAsyncDatabase.getContainer
Чтение всех коллекций в базе данных CosmosDatabase.readAllContainers
CosmosAsyncDatabase.readAllContainers
Удаление коллекции CosmosContainer.delete
CosmosAsyncContainer.delete

Примеры автомасштабирования коллекций

Чтобы получить дополнительные сведений об автомасштабировании перед выполнением этих примеров, ознакомьтесь с инструкциями по включению автомасштабирования в учетной записи и в базах данных и контейнерах.

Примеры файлов базы данных автомасштабирования для sync и async выполнения демонстрируют то, как выполнять следующие задачи.

Задача Справочник по API
Создание базы данных с указанной максимальной автомасштабируемой пропускной способностью CosmosClient.createDatabase
CosmosAsyncClient.createDatabase

Примеры файлов коллекции автомасштабирования для sync и async выполнения демонстрируют то, как выполнять следующие задачи.

Задача Справочник по API
Создание коллекции с указанной максимальной автомасштабируемой пропускной способностью CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists
Изменение настроенной максимальной автомасштабируемой пропускной способности коллекции CosmosContainer.replaceThroughput
CosmosAsyncContainer.replaceThroughput
Чтение конфигурации автомасштабируемой пропускной способности коллекции CosmosContainer.readThroughput
CosmosAsyncContainer.readThroughput

Примеры коллекции аналитического хранилища

Примеры файлов CRUD коллекции аналитического хранилища для sync и async выполнения демонстрируют то, как выполнять следующие задачи. Чтобы узнать о коллекциях Azure Cosmos DB перед выполнением следующих примеров, ознакомьтесь с сведениями о Azure Cosmos DB Synapse и аналитическом хранилище.

Задача Справочник по API
Создание коллекции CosmosDatabase.createContainerIfNotExists
CosmosAsyncDatabase.createContainerIfNotExists

Примеры элементов

Примеры файлов CRUD документа для sync и async выполнения демонстрируют то, как выполнять следующие задачи. Дополнительные сведения о документах Azure Cosmos DB перед выполнением следующих примеров см . в статье "Работа с базами данных, контейнерами и элементами ".

Примечание.

При выполнении операций с определенным элементом необходимо указать ключ секции.

Задача Справочник по API
Создание документа CosmosContainer.createItem
CosmosAsyncContainer.createItem
Чтение документа по идентификатору CosmosContainer.readItem
CosmosAsyncContainer.readItem
Запросы для документов CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Замена документа CosmosContainer.replaceItem
CosmosAsyncContainer.replaceItem
Выполнение операции Upsert для документа CosmosContainer.upsertItem
CosmosAsyncContainer.upsertItem
Удаление документа CosmosContainer.deleteItem
CosmosAsyncContainer.deleteItem
Замена документа с помощью условной проверки ETag CosmosItemRequestOptions.setIfMatchETag (sync)
CosmosItemRequestOptions.setIfMatchETag (async)
Чтение документа только в том случае, если он был изменен CosmosItemRequestOptions.setIfNoneMatchETag (sync)
CosmosItemRequestOptions.setIfNoneMatchETag (async)
Частичное обновление документа CosmosContainer.patchItem
Массовое обновление документов Примеры массового выполнения
Транзакционный пакет Примеры массового выполнения

Примеры индексирования

В файле Collection CRUD Samples показано, как выполнять следующие задачи. Чтобы узнать больше об индексировании в Azure Cosmos DB перед выполнением приведенных ниже примеров, ознакомьтесь с тематическими статьями, посвященными политикам, типам и путям индексирования.

Задача Справочник по API
Включение указанных путей к документам в индексе IndexingPolicy.IncludedPaths
Исключение указанных путей к документам из индекса IndexingPolicy.ExcludedPaths
Создание составного индекса IndexingPolicy.setCompositeIndexes
CompositePath
Создание геопространственного индекса IndexingPolicy.setSpatialIndexes
SpatialSpec
SpatialType

Дополнительные сведения об индексации Azure Cosmos DB см. в этой статье.

Примеры запросов

В файлах Query Samples для sync и async показано, как выполнять следующие задачи с помощью грамматики SQL-запроса. Чтобы узнать больше об SQL-запросах в Azure Cosmos DB перед выполнением приведенных ниже примеров, ознакомьтесь со статьей о примерах SQL-запросов для Azure Cosmos DB.

Задача Справочник по API
Запрос всех документов CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Выполнение запроса на соответствие условию с использованием оператора равенства == CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Выполнение запроса на несоответствие условию с использованием операторов != и NOT CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Запрос с помощью операторов диапазона, например >, <>=, <= CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Выполнение запроса к строкам с использованием операторов диапазона CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Выполнение запроса с использованием предложения ORDER BY CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Создание запросов с помощью DISTINCT CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Выполнение запроса с использованием агрегатных функций CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Работа с вложенными документами CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Выполнение запроса с использованием внутридокументных соединений CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Выполнение запроса с использованием операторов string, math и array CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Выполнение параметризованного SQL-запроса с использованием SqlQuerySpec CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Выполнение запроса с применением явного разбиения на страницы CosmosContainer.queryItems
CosmosAsyncContainer.queryItems
Выполнение запроса к секционированным коллекциям в параллельном режиме CosmosContainer.queryItems
CosmosAsyncContainer.queryItems

Примеры веб-канала изменений

В файле Change Feed Processor Sample показано, как выполнять следующие задачи. Чтобы узнать больше о канале изменений в Azure Cosmos DB перед выполнением приведенных ниже примеров, ознакомьтесь со статьями Чтение канала изменений Azure Cosmos DB и Обработчик канала изменений в Azure Cosmos DB.

Задача Справочник по API
Базовая функциональность канала изменений ChangeFeedProcessor.changeFeedProcessorBuilder
Чтение канала изменений с начала ChangeFeedProcessorOptions.setStartFromBeginning()

Примеры программирования на стороне сервера

В файле Stored Procedure Sample показано, как выполнять следующие задачи. Чтобы узнать больше о программировании на стороне сервера в Azure Cosmos DB перед выполнением приведенных ниже примеров, ознакомьтесь со статьей о хранимых процедурах, триггерах и определяемых пользователем функциях.

Задача Справочник по API
Создание хранимой процедуры CosmosScripts.createStoredProcedure
Выполнение хранимой процедуры CosmosStoredProcedure.execute
Удаление хранимой процедуры CosmosStoredProcedure.delete

Следующие шаги

Если вы планируете ресурсы для миграции в Azure Cosmos DB, Для планирования ресурсов можно использовать сведения об имеющемся кластере базы данных.