Начало работы с Azure Cosmos DB для NoSQL с помощью JavaScript

В этой статье показано, как подключиться к Azure Cosmos DB для NoSQL с помощью пакета SDK JavaScript. После подключения можно выполнять операции с базами данных, контейнерами и элементами.

Пакет (npm) | Справочник по | APIИсходный код | библиотекиПредоставление отзывов

Предпосылки

Настройка локального проекта

  1. Создайте каталог для проекта JavaScript в оболочке Bash.

    mkdir cosmos-db-nosql-javascript-samples && cd ./cosmos-db-nosql-javascript-samples
    
  2. Создайте новое приложение JavaScript с помощью npm init команды с шаблоном консоли .

    npm init -y
    
  3. Установите необходимую зависимость для пакета 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.

  1. Импортируйте пакет npm @azure/identity с помощью npm install команды.

    npm install @azure/identity
    
  2. В редакторе кода добавьте зависимости.

    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 с учетными записями, базами данными, контейнерами и элементами.

Иерархическая схема с учетной записью Azure Cosmos DB в верхней части. У учетной записи есть два дочерних узла базы данных. Один из узлов базы данных включает в себя два узла-контейнера, являющихся дочерними. Другой узел базы данных содержит один дочерний узел-контейнер. У этого одного узла контейнера есть три дочерних узла.

Каждый тип ресурса представлен одним или несколькими связанными классами. Ниже приведен список наиболее распространенных классов:

Class Description
CosmosClient Этот класс является логическим представлением службы Azure Cosmos DB на стороне клиента. Этот клиентский объект позволяет настраивать и выполнять запросы к службе.
Database Этот класс является ссылкой на базу данных, которая может еще не существовать в службе. База данных проверяется на стороне сервера при попытке доступа к ней или выполнении операции с ней.
Container Этот класс является ссылкой на контейнер, который возможно ещё не существует в службе. Контейнер проверяется на стороне сервера при попытке работать с ним.

Сведения об использовании каждого из этих классов для создания приложения приведены в следующих руководствах.

Guide Description
Создание базы данных Создание баз данных
Создание контейнера Создание контейнеров
Создание и чтение элемента Точка чтения определенного элемента
Элементы запроса Запрос нескольких элементов

См. также

Дальнейшие действия