Azure Cosmos DB client library samples for JavaScript

These sample programs show how to use the JavaScript client libraries for Azure Cosmos DB in some common scenarios.

File Name Description
EntraAuth.js Uses Entra Auth credentials to authenticate with the CosmosClient.
AlterQueryThroughput.js Updates a container offer to change query throughput.
Bulk.js Shows a simple bulk call with each BulkOperation type.
BulkUpdateWithSproc.js Bulk Updates documents with a Stored Procedure. Prefer container.items().bulk() to this behavior.
ChangeFeed.js Demonstrates using a ChangeFeed.
ContainerManagement.js Demonstrates container create, read, delete and reading all containers belonging to a database.
DatabaseManagement.js Demonstrates database create, read, delete and reading all databases.
IndexManagement.js Shows various ways to manage indexing items or changing container index policies.
ItemManagement.js Demonstrates item creation, read, delete and reading all items belonging to a container.
QueryThroughput.js Demonstrates query throughput scenarios.
SasTokenAuth.js Demonstrates using SasTokens for granting scoped access to Cosmos resources. Private feature
ServerSideScripts.js Demonstrates using stored procedures for server side run functions

Prerequisites

The sample programs are compatible with LTS versions of Node.js.

You need an Azure subscription and the following Azure resources to run these sample programs:

Samples retrieve credentials to access the service endpoint from environment variables. Alternatively, edit the source code to include the appropriate credentials. See each individual sample for details on which environment variables/credentials it requires to function.

Adapting the samples to run in the browser may require some additional consideration. For details, please see the package README.

Setup

To run the samples using the published version of the package:

  1. Install the dependencies using npm:
npm install
  1. Edit the file sample.env, adding the correct credentials to access the Azure service and run the samples. Then rename the file from sample.env to just .env. The sample programs will read this file automatically.

  2. Run whichever samples you like (note that some samples may require additional setup, see the table above):

node EntraAuth.js

Alternatively, run a single sample with the correct environment variables set (setting up the .env file is not required if you do this), for example (cross-platform):

cross-env COSMOS_KEY="<cosmos key>" COSMOS_ENDPOINT="<cosmos endpoint>" COSMOS_CONTAINER="<cosmos container>" node EntraAuth.js

Next Steps

Take a look at our API Documentation for more information about the APIs that are available in the clients.