Rozpoczynanie pracy z usługą Azure Cosmos DB for NoSQL przy użyciu języka JavaScript
DOTYCZY: NoSQL
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.
Kod źródłowy biblioteki źródłowej interfejsu API package (npm)Samples | API Reference | Code | (Dokumentacja interfejsu API pakietu (npm) | Prześlij opinię
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Konto usługi Azure Cosmos DB for NoSQL. Utwórz interfejs API dla konta NoSQL.
- Node.js LTS
- Interfejs wiersza polecenia platformy Azure lub program Azure PowerShell
Konfigurowanie projektu lokalnego
Utwórz nowy katalog dla projektu JavaScript w powłoce powłoki bash.
mkdir cosmos-db-nosql-javascript-samples && cd ./cosmos-db-nosql-javascript-samples
Utwórz nową aplikację JavaScript przy użyciu
npm init
polecenia z szablonem konsoli .npm init -y
Zainstaluj wymaganą zależność dla zestawu SDK języka JavaScript 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 for NoSQL usługi Azure Cosmos DB, utwórz wystąpienie CosmosClient
klasy . 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 zabezpieczeń |
---|---|
Maszyna lokalna (programowanie i testowanie) | Tożsamość użytkownika lub jednostka usługi |
Azure | Tożsamość zarządzana |
Serwery lub klienci spoza platformy Azure | Jednostka usługi |
Import @azure/identity
Pakiet npm @azure/tożsamości zawiera podstawowe funkcje uwierzytelniania współużytkowane przez wszystkie biblioteki zestawu Azure SDK.
Zaimportuj pakiet npm @azure/tożsamości przy użyciu
npm install
polecenia .npm install @azure/identity
W edytorze kodu dodaj zależności.
const { DefaultAzureCredential } = require("@azure/identity");
Tworzenie elementu 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:
Interfejs API dla konta NoSQL, który jest unikatową przestrzenią nazw najwyższego poziomu dla danych usługi 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 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 podrzędne węzły kontenera. 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:
Klasa | opis |
---|---|
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.
Przewodnik | opis |
---|---|
Tworzenie bazy danych | Tworzenie baz danych |
Tworzenie kontenera | Twórz kontenery |
Tworzenie i odczytywanie elementu | Punkt odczytu określonego elementu |
Elementy kwerend | Wykonywanie zapytań o wiele elementów |