Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как подключиться к Azure Cosmos DB для NoSQL с помощью пакета SDK JavaScript. После подключения можно выполнять операции с базами данных, контейнерами и элементами.
Пакет (npm) | Справочник по | APIИсходный код | библиотекиПредоставление отзывов
Предпосылки
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Учетная запись Azure Cosmos DB для NoSQL. Создайте API для учетной записи NoSQL.
- Node.js LTS
- Интерфейс командной строки (CLI) Azure или Azure PowerShell
Настройка локального проекта
Создайте каталог для проекта JavaScript в оболочке Bash.
mkdir cosmos-db-nosql-javascript-samples && cd ./cosmos-db-nosql-javascript-samplesСоздайте новое приложение JavaScript с помощью
npm initкоманды с шаблоном консоли .npm init -yУстановите необходимую зависимость для пакета SDK JavaScript для Azure Cosmos DB для NoSQL.
npm install @azure/cosmos
Подключение к Azure Cosmos DB для NoSQL
Чтобы подключиться к API noSQL Azure Cosmos DB, создайте экземпляр класса CosmosClient. Этот класс является начальной точкой для выполнения всех операций с базами данных.
Чтобы подключиться к учетной записи API для NoSQL с помощью Microsoft Entra, используйте учетную запись безопасности. Точный тип основного компонента зависит от того, где размещается код приложения. Приведенная ниже таблица служит кратким справочным руководством.
| Место выполнения приложения | Принцип безопасности |
|---|---|
| Локальный компьютер (разработка и тестирование) | Удостоверение пользователя или сервисный принципал |
| Azure | Манажируемая идентичность |
| Серверы или клиенты за пределами Azure | Сервис-принципал |
Импорт @azure/identity
Пакет npm @azure/identity содержит основные функции проверки подлинности, общие для всех библиотек пакета SDK Azure.
Импортируйте пакет npm @azure/identity с помощью
npm installкоманды.npm install @azure/identityВ редакторе кода добавьте зависимости.
const { DefaultAzureCredential } = require("@azure/identity");
Создайте CosmosClient с реализацией учетных данных по умолчанию
Если вы тестируете на локальном компьютере или приложение будет работать в службах Azure с прямой поддержкой управляемых удостоверений, получите маркер OAuth, создав экземпляр DefaultAzureCredential. Затем создайте новый экземпляр класса CosmosClient с COSMOS_ENDPOINT переменной среды и объектом TokenCredential в качестве параметров.
const { CosmosClient } = require("@azure/cosmos");
const { DefaultAzureCredential } = require("@azure/identity");
const credential = new DefaultAzureCredential();
const cosmosClient = new CosmosClient({
endpoint,
aadCredentials: credential
});
Создайте своё приложение
При создании приложения код будет в основном взаимодействовать с четырьмя типами ресурсов:
API для учетной записи NoSQL, которое является уникальным пространством имен верхнего уровня для данных Azure Cosmos DB.
Базы данных, которые упорядочивают контейнеры в учетной записи.
Контейнеры, содержащие набор отдельных элементов в базе данных.
Элементы, представляющие документ JSON в контейнере.
На следующей схеме показана связь между этими ресурсами.
Иерархическая схема с учетной записью Azure Cosmos DB в верхней части. У учетной записи есть два дочерних узла базы данных. Один из узлов базы данных включает в себя два узла-контейнера, являющихся дочерними. Другой узел базы данных содержит один дочерний узел-контейнер. У этого одного узла контейнера есть три дочерних узла.
Каждый тип ресурса представлен одним или несколькими связанными классами. Ниже приведен список наиболее распространенных классов:
| Class | Description |
|---|---|
CosmosClient |
Этот класс является логическим представлением службы Azure Cosmos DB на стороне клиента. Этот клиентский объект позволяет настраивать и выполнять запросы к службе. |
Database |
Этот класс является ссылкой на базу данных, которая может еще не существовать в службе. База данных проверяется на стороне сервера при попытке доступа к ней или выполнении операции с ней. |
Container |
Этот класс является ссылкой на контейнер, который возможно ещё не существует в службе. Контейнер проверяется на стороне сервера при попытке работать с ним. |
Сведения об использовании каждого из этих классов для создания приложения приведены в следующих руководствах.
| Guide | Description |
|---|---|
| Создание базы данных | Создание баз данных |
| Создание контейнера | Создание контейнеров |
| Создание и чтение элемента | Точка чтения определенного элемента |
| Элементы запроса | Запрос нескольких элементов |