Поделиться через


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

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

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

Package (npm) | API reference | Library source code | Give Feedback

Предварительные условия

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

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

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

    npm init -y
    
  3. Install the required dependency for the Azure Cosmos DB for NoSQL JavaScript SDK.

    npm install @azure/cosmos
    

Подключение к Azure Cosmos DB для NoSQL

Чтобы подключиться к API для NoSQL Azure Cosmos DB, создайте экземпляр CosmosClient класса. Этот класс является начальной точкой для выполнения всех операций с базами данных.

To connect to your API for NoSQL account using the Microsoft Entra, use a security principal. The exact type of principal depends on where you host your application code. Приведенная ниже таблица служит кратким справочным руководством.

Место выполнения приложения Security principal
Локальный компьютер (разработка и тестирование) User identity or service principal
Azure Управляемая идентичность
Серверы или клиенты вне Azure Service principal

Import @azure/identity

Пакет npm @azure/identity содержит основные функции проверки подлинности, общие для всех библиотек пакета SDK Azure.

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

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

    const { DefaultAzureCredential } = require("@azure/identity");
    

Create CosmosClient with default credential implementation

Если вы тестируете на локальном компьютере или приложение будет выполняться в службах 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
});

Создание вашего приложения

При создании приложения код будет в основном взаимодействовать с четырьмя типами ресурсов:

  • The API for NoSQL account, which is the unique top-level namespace for your Azure Cosmos DB data.

  • Базы данных, которые упорядочивают контейнеры в учетной записи.

  • Контейнеры, содержащие набор отдельных элементов в базе данных.

  • Элементы, представляющие документ JSON в контейнере.

На следующей схеме показана связь между этими ресурсами.

Схема иерархии Azure Cosmos DB с учетными записями, базами данными, контейнерами и элементами.

Иерархическая схема с учетной записью Azure Cosmos DB в верхней части. У учетной записи есть два дочерних узла базы данных. Один из узлов базы данных включает в себя два дочерних узла-контейнера. В другом узле базы данных содержится единственный дочерний узел-контейнер. That single container node has three child item nodes.

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

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

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

Руководство Описание
Создание базы данных Создание баз данных
Создание контейнера Создание контейнеров
Создайте и прочитайте элемент Point read a specific item
Элементы запроса Запрос нескольких элементов

См. также

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