Java Api для базы данных документов Azure Cosmos (SQL Api)

Я начал работать с Azure Cosmos DB Sql Api. Я нашел два разных API Java, которые можно использовать для управления этой базой данных:


com.azure::azure-cosmos

После следующей демонстрации быстрого запуска (доступно в разделе быстрого запуска портала Azure)

введите здесь описание изображения

Я загрузил демонстрационный код, который зависит от:

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-cosmos</artifactId>
    <version>4.0.0-preview.1</version>
</dependency>

Этот Api описан здесь: azure- космос. В этом Api я нашел несколько полезных классов, таких как CosmosClientBuilder, CosmosContainer.


com.microsoft.azure::azure-documentdb

Однако, прочитав документацию с docs.microsoft.azure.com, я обнаружил, что они рекомендуют использовать com. microsoft.azure::azure-documentdb:

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-documentdb</artifactId>
    <version>LATEST</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-cosmosdb</artifactId>
    <version>2.6.5</version>
</dependency>

В этом Api я не вижу полезного класса CosmosClientBuilder, и способ создания подключения к базе данных немного отличается.


Интересно, какой Api рекомендуется использовать? Они служат разным целям?


person fascynacja    schedule 04.03.2020    source источник


Ответы (2)


com.azure::azure-cosmos - это рекомендуемая версия для новых пользователей пакета SDK Java для Azure Cosmos DB для SQL API. Как видно из артефакта Maven («4.0.0.preview-1»), последний выпуск представляет собой предварительную версию v4 - следите за общедоступным (без предварительного просмотра) выпуском Azure Cosmos DB позже в марте. Java SDK v4 для SQL API. Он будет под немного другим именем артефакта Maven.

person anfeldma-ms2    schedule 12.03.2020
comment
в чем разница между этими двумя API? Они служат разным целям? - person fascynacja; 12.03.2020
comment
не могли бы вы также поделиться источником этой информации? - person fascynacja; 12.03.2020

Все эти пакеты представляют собой обновления SDK для одного и того же API, а именно для Core (SQL) API, который рекомендуется для лучшей производительности и поддержки.

Номер версии имеет значение. 3.x.x - это последняя стабильная версия 4.0, это предварительная версия, и мы подталкиваем людей начать использовать 4.0.

Вот отношение номера версии к артефакту Maven:

com.azure::azure-cosmos: v4.0.x Async/Sync (public preview)

com.microsoft.azure::azure-cosmos : v3.x.x Async/Sync (stable)

com.microsoft.azure::azure-cosmosdb : v2.x.x Async (stable)

com.microsoft.azure::azure-documentdb : v2.4.7 "Legacy" Sync, deprecated (stable)

Если вас смущает множество разных артефактов Maven для одного и того же SDK - это произошло, когда пакет SDK для Azure Cosmos DB мигрировал в основной репозиторий пакета SDK для Azure; мы прошли процесс уточнения имен наших пакетов. Мы ожидаем, что в будущем ситуация будет стабильной.

person anfeldma-ms2    schedule 08.04.2020
comment
не могли бы вы также поделиться источником этой информации? - person fascynacja; 09.04.2020