Udostępnij przez


Rozpoczynanie pracy z usługą Azure Cosmos DB for NoSQL przy użyciu języka JavaScript

W tym artykule pokazano, jak nawiązać połączenie z usługą Azure Cosmos DB for NoSQL przy użyciu zestawu SDK języka JavaScript. Po nawiązaniu połączenia można wykonywać operacje na bazach danych, kontenerach i elementach.

Pakiet (npm) | Dokumentacja API | Kod źródłowy biblioteki | Prześlij opinię

Wymagania wstępne

Konfigurowanie projektu lokalnego

  1. Utwórz nowy katalog dla projektu JavaScript w powłoce bash.

    mkdir cosmos-db-nosql-javascript-samples && cd ./cosmos-db-nosql-javascript-samples
    
  2. Utwórz nową aplikację JavaScript przy użyciu npm init polecenia z szablonem konsoli .

    npm init -y
    
  3. Zainstaluj wymaganą zależność dla zestawu SDK JavaScript NoSQL dla usługi Azure Cosmos DB.

    npm install @azure/cosmos
    

Nawiązywanie połączenia z usługą Azure Cosmos DB for NoSQL

Aby nawiązać połączenie z interfejsem API dla NoSQL usługi Azure Cosmos DB, utwórz wystąpienie klasy CosmosClient. Ta klasa jest punktem wyjścia do wykonywania wszystkich operacji względem baz danych.

Aby nawiązać połączenie z kontem interfejsu API dla noSQL przy użyciu usługi Microsoft Entra, użyj podmiotu zabezpieczeń. Dokładny typ podmiotu zabezpieczeń zależy od tego, gdzie hostujesz kod aplikacji. Poniższa tabela służy jako krótki przewodnik informacyjny.

Gdzie działa aplikacja Podmiot bezpieczeństwa
Maszyna lokalna (programowanie i testowanie) Tożsamość użytkownika lub podmiot usługi
Azure Tożsamość zarządzana
Serwery lub klienci spoza platformy Azure Główna usługa

Importu @azure/identity

Pakiet npm @azure/identity zawiera podstawowe funkcje uwierzytelniania współużytkowane przez wszystkie biblioteki Azure SDK.

  1. Zaimportuj pakiet @azure/identity za pomocą polecenia npm install.

    npm install @azure/identity
    
  2. W edytorze kodu dodaj zależności.

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

Utwórz CosmosClient z domyślną implementacją poświadczeń

Jeśli testujesz na komputerze lokalnym lub aplikacja będzie działać w usługach platformy Azure z bezpośrednią obsługą tożsamości zarządzanych, uzyskaj token OAuth, tworząc DefaultAzureCredential wystąpienie. Następnie utwórz nowe wystąpienie klasy CosmosClient za pomocą COSMOS_ENDPOINT zmiennej środowiskowej i obiektu TokenCredential jako parametrów.

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

const credential = new DefaultAzureCredential();

const cosmosClient = new CosmosClient({ 
    endpoint, 
    aadCredentials: credential
});

Kompilowanie aplikacji

Podczas kompilowania aplikacji kod będzie przede wszystkim współdziałać z czterema typami zasobów:

  • API dla konta NoSQL stanowi unikatową przestrzeń nazw najwyższego poziomu dla danych w Azure Cosmos DB.

  • Bazy danych, które organizują kontenery na twoim koncie.

  • Kontenery, które zawierają zestaw pojedynczych elementów w bazie danych.

  • Elementy reprezentujące dokument JSON w kontenerze.

Na poniższym diagramie przedstawiono relacje między tymi zasobami.

Diagram hierarchii usługi Azure Cosmos DB, w tym kont, baz danych, kontenerów i elementów.

Diagram hierarchiczny przedstawiający konto usługi Azure Cosmos DB u góry. Konto ma dwa podrzędne węzły bazy danych. Jeden z węzłów bazy danych zawiera dwa nody kontenera podrzędnego. Drugi węzeł bazy danych zawiera jeden podrzędny węzeł kontenera. Ten pojedynczy węzeł kontenera ma trzy węzły elementów podrzędnych.

Każdy typ zasobu jest reprezentowany przez jedną lub więcej skojarzonych klas. Oto lista najpopularniejszych klas:

Class Description
CosmosClient Ta klasa zapewnia logiczną reprezentację po stronie klienta dla usługi Azure Cosmos DB. Obiekt klienta służy do konfigurowania i wykonywania żądań względem usługi.
Database Ta klasa jest odwołaniem do bazy danych, która może lub nie istnieje jeszcze w usłudze. Baza danych jest weryfikowana po stronie serwera podczas próby uzyskania do niej dostępu lub wykonania operacji względem niej.
Container Ta klasa jest odwołaniem do kontenera, który również może jeszcze nie istnieć w usłudze. Kontener jest weryfikowany po stronie serwera podczas próby pracy z nim.

W poniższych przewodnikach pokazano, jak utworzyć aplikację przy użyciu każdej z tych klas.

Guide Description
Tworzenie bazy danych Tworzenie baz danych
Tworzenie kontenera Tworzenie kontenerów
Tworzenie i odczytywanie elementu Punkt odczytu określonego elementu
Elementy zapytania Wykonywanie zapytań o wiele elementów

Zobacz także

Dalsze kroki