Important
用于 JavaScript 的 Databricks SDK 处于 Beta 版中。 在 Beta 期间,Databricks 建议将代码所依赖的每个 Databricks JavaScript SDK 软件包的依赖固定为特定版本,例如在项目的 package.json 文件中。
在 GitHub 中报告用于 JavaScript 存储库的 Databricks SDK 中的问题。
使用用于 JavaScript 的 Databricks SDK 自动执行Azure Databricks操作并加速开发。 这些 SDK 为 Databricks REST API 提供类型化客户端。 它们具有模块化体系结构,每个 API 都有单独的 npm 包(例如)。 @databricks/sdk-postgres 仅安装您使用的 API 对应的软件包。
本页是对 JavaScript 版 Databricks SDK 的 README 和 示例的补充。
要求
若要使用用于 JavaScript 的 Databricks SDK,开发计算机必须具有:
- 已安装Node.js 和 npm。
- 已配置 Azure Databricks 身份验证。
开始
为所需的每个 API 安装相应的软件包。 每个 Databricks API 都作为一个名为
@databricks/sdk-<api>的独立包发布。 例如,若要使用 Postgres,请从 Node.js 项目的根目录运行以下命令:npm install @databricks/sdk-postgres如果尚未配置,请将开发计算机配置为可用于 Azure Databricks 身份验证。
从包的版本化子路径导入客户端,然后调用 API。 以下 TypeScript 示例使用 身份验证中所述的默认身份验证列出 Postgres 项目。 列表方法提供了一个
Iter变体,可在你迭代时自动对结果进行分页:import { PostgresClient } from '@databricks/sdk-postgres/v1'; const client = new PostgresClient({}); for await (const project of client.listProjectsIter({})) { console.log(project.name); }
有关更多可运行的示例,包括分页、长时间运行的操作、错误处理和身份验证策略,请参阅 GitHub 中用于 JavaScript 存储库的 Databricks SDK 中的示例文件夹。
身份验证
默认情况下,客户端从 Databricks 配置文件 (~/.databrickscfg)和环境变量读取其配置(包括主机和 DATABRICKS_* 凭据)。 在这些设置中,无需在代码中传递任何凭据,例如:
import { PostgresClient } from '@databricks/sdk-postgres/v1';
// Resolves the host and credentials from the DEFAULT profile and DATABRICKS_* environment variables.
const client = new PostgresClient({});
若要显式配置凭据,请从 @databricks/sdk-auth/credentials 导入帮助程序,并将其作为 credentials 传入。 以下示例配置 Databricks 个人访问令牌身份验证。
import { PostgresClient } from '@databricks/sdk-postgres/v1';
import { newPatCredentials } from '@databricks/sdk-auth/credentials';
const client = new PostgresClient({
host: 'https://my-company.databricks.com',
credentials: newPatCredentials(MY_PAT_ENV_VAR),
});
该 @databricks/sdk-auth 包提供其他凭据提供程序,包括 newU2mCredentials 用户到计算机 (U2M) OAuth 和 newM2mCredentials 计算机到计算机 (M2M) OAuth 以及默认凭据链。 有关Azure Databricks身份验证的详细信息,请参阅 Databricks 统一身份验证。
Packages
每个 Databricks API 都作为一个名为 @databricks/sdk-<api> 的独立软件包发布。 从该包的带版本子路径中导入其客户端。 例如, @databricks/sdk-postgres/v1 导出 PostgresClient。
有关可用 API 包的完整列表,请参阅适用于 JavaScript README 的 Databricks SDK 中的 包 。
共享软件包
每个 API 客户端共享三个包,并提供直接导入的部分:
| Package | Description |
|---|---|
@databricks/sdk-core |
HTTP 客户端、配置文件解析、日志记录和 API 错误类型(ApiError)。 |
@databricks/sdk-auth |
凭据提供程序(newPatCredentials、、newU2mCredentialsnewM2mCredentials)和默认凭据链。 |
@databricks/sdk-options |
传递给客户端和调用的选项类型 (ClientOptions, CallOptions) 。 |
其他资源
- Databricks JavaScript SDK 的README
- 适用于 JavaScript 的 Databricks SDK 示例
- Databricks 统一身份验证