Kom igång med Azure Cosmos DB for NoSQL med JavaScript
GÄLLER FÖR: NoSQL
Den här artikeln visar hur du ansluter till Azure Cosmos DB för NoSQL med hjälp av JavaScript SDK. När du är ansluten kan du utföra åtgärder på databaser, containrar och objekt.
Package (npm)Samples API reference Library source code Give Feedback (Paket (npm)Samples | API reference | Library source code | Give Feedback (Ge feedback) |
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Azure Cosmos DB för NoSQL-konto. Skapa ett API för NoSQL-konto.
- Node.js LTS
- Azures kommandoradsgränssnitt (CLI) eller Azure PowerShell
Konfigurera ditt lokala projekt
Skapa en ny katalog för ditt JavaScript-projekt i ett bash-gränssnitt.
mkdir cosmos-db-nosql-javascript-samples && cd ./cosmos-db-nosql-javascript-samples
Skapa ett nytt JavaScript-program med hjälp
npm init
av kommandot med konsolmallen.npm init -y
Installera det nödvändiga beroendet för Azure Cosmos DB för NoSQL JavaScript SDK.
npm install @azure/cosmos
Ansluta till Azure Cosmos DB för NoSQL
Om du vill ansluta till API:et för NoSQL för Azure Cosmos DB skapar du en instans av CosmosClient
klassen. Den här klassen är utgångspunkten för att utföra alla åtgärder mot databaser.
Om du vill ansluta till ditt API för NoSQL-konto med hjälp av Microsoft Entra använder du ett säkerhetsobjekt. Den exakta typen av huvudnamn beror på var du är värd för programkoden. Tabellen nedan fungerar som en snabbreferensguide.
Där programmet körs | Säkerhetsobjekt |
---|---|
Lokal dator (utveckla och testa) | Användaridentitet eller tjänstens huvudnamn |
Azure | Hanterad identitet |
Servrar eller klienter utanför Azure | Tjänstens huvudnamn |
Import @azure/identity
NPM-paketet @azure/identity innehåller grundläggande autentiseringsfunktioner som delas mellan alla Azure SDK-bibliotek.
Importera npm-paketet @azure/identity med kommandot
npm install
.npm install @azure/identity
Lägg till beroendena i kodredigeraren.
const { DefaultAzureCredential } = require("@azure/identity");
Skapa CosmosClient med standardimplementering av autentiseringsuppgifter
Om du testar på en lokal dator, eller om programmet körs på Azure-tjänster med direkt stöd för hanterade identiteter, hämtar du en OAuth-token genom att skapa en DefaultAzureCredential
instans. Skapa sedan en ny instans av klassen CosmosClient med COSMOS_ENDPOINT
miljövariabeln och TokenCredential-objektet som parametrar.
const { CosmosClient } = require("@azure/cosmos");
const { DefaultAzureCredential } = require("@azure/identity");
const credential = new DefaultAzureCredential();
const cosmosClient = new CosmosClient({
endpoint,
aadCredentials: credential
});
Skapa ditt program
När du skapar ditt program interagerar koden främst med fyra typer av resurser:
API:et för NoSQL-kontot, som är det unika toppnivånamnområdet för dina Azure Cosmos DB-data.
Databaser som organiserar containrarna i ditt konto.
Containrar som innehåller en uppsättning enskilda objekt i databasen.
Objekt som representerar ett JSON-dokument i containern.
Följande diagram visar relationen mellan de här resurserna.
Hierarkiskt diagram som visar ett Azure Cosmos DB-konto högst upp. Kontot har två underordnade databasnoder. En av databasnoderna innehåller två underordnade containernoder. Den andra databasnoden innehåller en enda underordnad containernod. Den enda containernoden har tre underordnade objektnoder.
Varje typ av resurs representeras av en eller flera associerade klasser. Här är en lista över de vanligaste klasserna:
Klass | beskrivning |
---|---|
CosmosClient |
Den här klassen tillhandahåller en logisk representation på klientsidan för Azure Cosmos DB-tjänsten. Klientobjektet används för att konfigurera och köra begäranden mot tjänsten. |
Database |
Den här klassen är en referens till en databas som kanske, eller kanske inte, finns i tjänsten ännu. Databasen verifieras på serversidan när du försöker komma åt den eller utföra en åtgärd mot den. |
Container |
Den här klassen är en referens till en container som inte heller finns i tjänsten ännu. Containern verifieras på serversidan när du försöker arbeta med den. |
Följande guider visar hur du använder var och en av dessa klasser för att skapa ditt program.
Guide | beskrivning |
---|---|
Skapa en databas | Skapa databaser |
Skapa en container | Skapa behållare |
Skapa och läsa ett objekt | Punktläsning av ett specifikt objekt |
Frågeobjekt | Fråga efter flera objekt |