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, прежде чем начинать работу.
- Вы можете активировать преимущества подписчика Visual Studio— каждый месяц ваша подписка Visual Studio предоставляет вам кредиты, которые можно использовать для оплаты служб 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 перед выполнением следующих примеров см . в статье "Работа с базами данных, контейнерами и элементами ".
Примечание.
При выполнении операций с определенным элементом необходимо указать ключ секции.
Примеры индексирования
В файле 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, Для планирования ресурсов можно использовать сведения об имеющемся кластере базы данных.
- Если вам известно только количество виртуальных ядер и серверов в существующем кластере баз данных, прочитайте об оценке единиц запроса на основе этих данных.
- Если вам известна стандартная частота запросов для текущей рабочей нагрузки базы данных, ознакомьтесь со статьей о расчете единиц запросов с помощью планировщика ресурсов Azure Cosmos DB