Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel erfahren Sie, wie Sie mithilfe des JavaScript SDK eine Verbindung mit Azure Cosmos DB für NoSQL herstellen. Nach der Verbindung können Sie Vorgänge für Datenbanken, Container und Elemente ausführen.
Paket (npm) | API-Referenz | Quellcode | der BibliothekFeedback geben
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Kostenlos ein Konto erstellen.
- Azure Cosmos DB for NoSQL-Konto. Erstellen Sie eine API für noSQL-Konto.
- Node.js LTS
- Azure-Befehlszeilenschnittstelle (CLI) oder Azure PowerShell
Einrichten Ihres lokalen Projekts
Erstellen Sie ein neues Verzeichnis für Ihr JavaScript-Projekt in einer Bash-Shell.
mkdir cosmos-db-nosql-javascript-samples && cd ./cosmos-db-nosql-javascript-samplesErstellen Sie eine neue JavaScript-Anwendung mithilfe des
npm initBefehls mit der Konsolenvorlage .npm init -yInstallieren Sie die erforderliche Abhängigkeit für das Azure Cosmos DB für NoSQL JavaScript SDK.
npm install @azure/cosmos
Herstellen einer Verbindung mit Azure Cosmos DB for NoSQL
Um eine Verbindung mit der API für NoSQL von Azure Cosmos DB herzustellen, erstellen Sie eine Instanz der CosmosClient Klasse. Diese Klasse ist der Ausgangspunkt, um alle Vorgänge für Datenbanken auszuführen.
Um eine Verbindung zu Ihrem NoSQL-API-Konto über Microsoft Entra herzustellen, verwenden Sie einen Sicherheitsprinzipal. Der genaue Prinzipaltyp hängt davon ab, wo Sie Den Anwendungscode hosten. Die folgende Tabelle dient als Kurzanleitung.
| Ausführungsort der Anwendung | Sicherheitsprinzipal |
|---|---|
| Lokaler Computer (Entwickeln und Testen) | Benutzeridentität oder Dienstprinzipal |
| Azure | Verwaltete Identität |
| Server oder Clients außerhalb von Azure | Service Principal |
Importieren @azure/identity
Das @azure/ Identitäts-npm-Paket enthält Kernauthentifizierungsfunktionen, die für alle Azure SDK-Bibliotheken freigegeben werden.
Importieren Sie das @azure/Identity npm-Paket mithilfe des
npm installBefehls.npm install @azure/identityFügen Sie in Ihrem Code-Editor die Abhängigkeiten hinzu.
const { DefaultAzureCredential } = require("@azure/identity");
Erstellen von CosmosClient mit Standard-Implementierung von Anmeldeinformationen
Wenn Sie auf einem lokalen Computer testen oder Ihre Anwendung auf Azure-Diensten mit direkter Unterstützung für verwaltete Identitäten ausgeführt wird, rufen Sie ein OAuth-Token ab, indem Sie eine DefaultAzureCredential-Instanz erstellen. Erstellen Sie dann eine neue Instanz der CosmosClient-Klasse mit der COSMOS_ENDPOINT Umgebungsvariable und dem TokenCredential-Objekt als Parameter.
const { CosmosClient } = require("@azure/cosmos");
const { DefaultAzureCredential } = require("@azure/identity");
const credential = new DefaultAzureCredential();
const cosmosClient = new CosmosClient({
endpoint,
aadCredentials: credential
});
Erstellen Ihrer Anwendung
Beim Erstellen Ihrer Anwendung interagiert Ihr Code hauptsächlich mit vier Arten von Ressourcen:
Das API für NoSQL-Konto, das der eindeutige Namespace der obersten Ebene für Ihre Azure Cosmos DB-Daten ist.
Datenbanken, die Container in Ihrem Konto organisieren.
Container, die eine Reihe einzelner Elemente in Ihrer Datenbank enthalten.
Elemente, die ein JSON-Dokument in Ihrem Container darstellen.
Das folgende Diagramm zeigt die Beziehung zwischen diesen Ressourcen.
Hierarchisches Diagramm mit einem Azure Cosmos DB-Konto oben. Das Konto verfügt über zwei untergeordnete Datenbankknoten. Einer der Datenbankknoten enthält zwei untergeordnete Containerknoten. Der andere Datenbankknoten enthält einen einzelnen untergeordneten Containerknoten. Dieser einzelne Containerknoten hat drei untergeordnete Elementknoten.
Jeder Ressourcentyp wird durch eine oder mehrere zugeordnete Klassen dargestellt. Hier ist eine Liste der am häufigsten verwendeten Klassen:
| Class | Description |
|---|---|
CosmosClient |
Diese Klasse bietet eine clientseitige logische Darstellung für den Azure Cosmos DB-Dienst. Das Clientobjekt wird zum Konfigurieren und Ausführen von Anforderungen für den Dienst verwendet. |
Database |
Diese Klasse ist ein Verweis auf eine Datenbank, die im Dienst vorhanden sein kann oder nicht. Die Datenbank wird serverseitig überprüft, wenn Sie versuchen, darauf zuzugreifen oder einen Vorgang auszuführen. |
Container |
Diese Klasse ist ein Verweis auf einen Container, der möglicherweise noch nicht im Dienst vorhanden ist. Der Container wird serverseitig überprüft, wenn Sie versuchen, damit zu arbeiten. |
In den folgenden Leitfäden wird gezeigt, wie Sie diese verschiedenen Klassen verwenden, um Ihre Anwendung zu erstellen.
| Guide | Description |
|---|---|
| Erstellen einer Datenbank | Erstellen von Datenbanken |
| Container erstellen | Erstellen von Containern. |
| Erstellen und Lesen eines Elements | Punktlesevorgang eines bestimmten Elements |
| Abfrageelemente | Abfragen mehrerer Elemente |