Skip to content

databricks/sdk-js

Repository files navigation

Databricks Modular SDKs for JavaScript (Beta)

Note

Beta

This SDK is in Beta and is supported for production use cases. Interfaces might still change slightly before GA (e.g. name standardization and minor ergonomic tweaks). We are keen to hear feedback from early adopters — please file issues, and we will address them.

The Databricks SDKs for JavaScript provide typed clients for the Databricks REST API. They have a modular architecture, with a separate npm package for each API (for example, @databricks/sdk-postgres).

Table of Contents

Installation

Install the package for each API you need. For example, to work with Postgres:

npm install @databricks/sdk-postgres

Authentication

By default, a client reads its configuration (host and credentials) from a Databricks configuration profile (~/.databrickscfg) and DATABRICKS_* environment variables. With those set, no credentials need to be passed in code:

import {PostgresClient} from '@databricks/sdk-postgres/v1';

// Resolves the host and credentials from the DEFAULT profile and DATABRICKS_* env vars.
const client = new PostgresClient({});

To configure credentials explicitly, import a helper from @databricks/sdk-auth/credentials and pass it as credentials:

import {PostgresClient} from '@databricks/sdk-postgres/v1';
import {newPatCredentials} from '@databricks/sdk-auth/credentials';

const client = new PostgresClient({
  host: 'https://example.cloud.databricks.com',
  credentials: newPatCredentials('<personal-access-token>'),
});

Example

The following lists your Postgres projects, using the default authentication described above. List methods expose an Iter variant that pages through results transparently as you iterate:

import {PostgresClient} from '@databricks/sdk-postgres/v1';

const client = new PostgresClient({});

for await (const project of client.listProjectsIter({})) {
  console.log(project.name);
}

More runnable examples (pagination, long-running operations, error handling, and authentication strategies) are available in packages/examples.

Packages

Each Databricks API is published as a separate package named @databricks/sdk-<api>. Import its client from the package's versioned subpath — for example, @databricks/sdk-postgres/v1 exports PostgresClient.

Package Version
@databricks/sdk-accessmanagement npm
@databricks/sdk-alerts npm
@databricks/sdk-apps npm
@databricks/sdk-authentication npm
@databricks/sdk-budgetpolicy npm
@databricks/sdk-budgets npm
@databricks/sdk-cleanrooms npm
@databricks/sdk-clusterlibraries npm
@databricks/sdk-clusterpolicies npm
@databricks/sdk-clusters npm
@databricks/sdk-commandexecution npm
@databricks/sdk-customllms npm
@databricks/sdk-database npm
@databricks/sdk-dataclassification npm
@databricks/sdk-dataquality npm
@databricks/sdk-disasterrecovery npm
@databricks/sdk-environments npm
@databricks/sdk-experiments npm
@databricks/sdk-features npm
@databricks/sdk-featurestore npm
@databricks/sdk-files npm
@databricks/sdk-forecasting npm
@databricks/sdk-genie npm
@databricks/sdk-gitcredentials npm
@databricks/sdk-globalinitscripts npm
@databricks/sdk-instancepools npm
@databricks/sdk-instanceprofiles npm
@databricks/sdk-jobs npm
@databricks/sdk-keyconfigurations npm
@databricks/sdk-knowledgeassistants npm
@databricks/sdk-lakeview npm
@databricks/sdk-logdelivery npm
@databricks/sdk-marketplaces npm
@databricks/sdk-modelregistry npm
@databricks/sdk-modelserving npm
@databricks/sdk-modelservingquery npm
@databricks/sdk-networking npm
@databricks/sdk-notificationdestinations npm
@databricks/sdk-oauth npm
@databricks/sdk-pipelines npm
@databricks/sdk-policyfamilies npm
@databricks/sdk-postgres npm
@databricks/sdk-queries npm
@databricks/sdk-queryhistory npm
@databricks/sdk-repos npm
@databricks/sdk-scim npm
@databricks/sdk-secrets npm
@databricks/sdk-settings npm
@databricks/sdk-sharing npm
@databricks/sdk-statementexecution npm
@databricks/sdk-storageconfigurations npm
@databricks/sdk-supervisoragents npm
@databricks/sdk-tagassignments npm
@databricks/sdk-tagpolicies npm
@databricks/sdk-tokenmanagement npm
@databricks/sdk-tokens npm
@databricks/sdk-uc-abacpolicies npm
@databricks/sdk-uc-artifactallowlists npm
@databricks/sdk-uc-catalogs npm
@databricks/sdk-uc-connections npm
@databricks/sdk-uc-credentials npm
@databricks/sdk-uc-entitytagassignments npm
@databricks/sdk-uc-externallineage npm
@databricks/sdk-uc-externallocations npm
@databricks/sdk-uc-externalmetadata npm
@databricks/sdk-uc-functions npm
@databricks/sdk-uc-grants npm
@databricks/sdk-uc-metastores npm
@databricks/sdk-uc-onlinetables npm
@databricks/sdk-uc-registeredmodels npm
@databricks/sdk-uc-resourcequotas npm
@databricks/sdk-uc-rfa npm
@databricks/sdk-uc-schemas npm
@databricks/sdk-uc-secrets npm
@databricks/sdk-uc-systemschemas npm
@databricks/sdk-uc-tables npm
@databricks/sdk-uc-volumes npm
@databricks/sdk-uc-workspacebindings npm
@databricks/sdk-usagedashboards npm
@databricks/sdk-vectorsearch npm
@databricks/sdk-warehouses npm
@databricks/sdk-workspaces npm

Shared packages

Three packages are shared by every API client and provide the pieces you import directly:

  • @databricks/sdk-core — the HTTP client, configuration-profile resolution, logging, and API error types (ApiError).
  • @databricks/sdk-auth — credential providers (newPatCredentials, newU2mCredentials, newM2mCredentials) and the default credential chain.
  • @databricks/sdk-options — the option types passed to clients and calls (ClientOptions, CallOptions).

License

This project is licensed under the Apache License 2.0. See LICENSE and NOTICE.

About

Databricks Modular SDKs for JavaScript

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages