# @dbx-tools/databricks 中文文档

规范地址：https://npmcn.com/package/%40dbx-tools/databricks/

版本：0\.9\.206
npm 元数据更新时间：2026-11-10T19:19:20.416Z
中文译文更新时间：2026-11-11T17:24:12.555Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40dbx-tools/databricks
原文对照：https://npmcn.com/package/%40dbx-tools/databricks/?lang=original
项目主页：https://github.com/reggie-db/dbx-tools#readme
源码仓库：https://github.com/reggie-db/dbx-tools

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：230 kB，22 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：7 个
- 首次发布：2026-07-17T16:16:42.120Z
- 最新版本发布：2026-11-10T19:19:20.093Z
- 近 30 天下载量：10815（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：352（近 12 个月 352 个）

## 中文简介

数据砖工作空间、文件系统、云和网络工具

## 安装

```sh
npm install @dbx-tools/databricks
```

也可以使用：`pnpm add @dbx-tools/databricks`、`yarn add @dbx-tools/databricks`、`bun add @dbx-tools/databricks`

## README

# @dbx-tools/ 数据砖

解析 Databricks 工作空间身份、访问工作空间文件、检测云和 区域,解决DNS,并发现呼叫者的公开IP.

## 快开始

通过共享文件系统 API 读取并写入一个 Unity Catalog 卷 :

```ts
import { DatabricksFileSystem } from "@dbx-tools/databricks";

const files = new DatabricksFileSystem({ root: "main.default.assets" });
await files.writeFile("reports/latest.txt", "ready");
```

软件包 :

-   AppKit 语境中的工作空间 URL 和数字工作空间 id 分辨率, Databricks SDK 配置, env, 和配置文件.
-   `DatabricksFileSystem` (单位:千美元)`FileSystem` 工作空间文件、UC卷和 DBFS) 具有智能根: `/Workspace/...`, (中文(简体) ), `/Volumes/...` (另见: `/Volume/...` 财务报告和审定财务报表 `catalog.schema.volume`, (中文(简体) ), `~` → `/Workspace/Users/<userName>`,以及 `/dbfs/...`。 。 。 .
-   `tryGetWorkspaceClient` 编号 : `getWorkspaceClient` 编号 : `getCurrentUserName` 客户端 和回家的解决.
-   通过解决工作空间主机对公众的检测,云提供商/区域检测 AWS,Azure,以及GCP IP接口.
-   云 IP 范围种子的处理中和上盘缓存.
-   DNS A/AAAA为Databricks和相邻的服务主机寻找帮助者.
-   纪念出界的公众-IP发现,用于设置和诊断.

## 选择应用程序或代理文件访问

在其标准的工作空间客户端和插件集成中使用本地的 AppKit. 当代码需要 Databricks 文件系统根正常化时使用此软件包, 云区域发现、网络助手或工作空间身份回落 在 AppKit 请求之外 .

当应用程序路径或UI组件需要文件时使用 AppKit 文件插件 音量操作。 使用 `DatabricksFileSystem` 用于后端库和 a 便携式文件系统挂入 Mastra 代理工作空间 。 使用 [@dbx-tools/fs (英语)](https://npmcn.com/package/%40dbx-tools/fs) 用于主机本地文件.

## 文件系统目标

```ts
import { DatabricksFileSystem } from "@dbx-tools/databricks";

// Unity Catalog volume using a three-part id
const volume = new DatabricksFileSystem({ root: "main.default.assets" });
await volume.writeFile("notes/hello.txt", "hi");

// Workspace home (resolves ~ using currentUser.me / AppKit userName)
const home = await DatabricksFileSystem.create({ root: "~" });
const entries = await home.readdir(".");
```

根在使用前已正常化 :

| 投入 | 常态化根 | API 密码 |
| --- | --- | --- |
| `catalog.schema.volume` | `/Volumes/catalog/schema/volume` | UC 文件 |
| `/Volume/...` | `/Volumes/...` | UC 文件 |
| `~` 编号 : `~/...` | `/Workspace/Users/<userName>/...` | 工作空间 |
| `/Workspace/...`, (中文(简体) ), `/Users/...`, (中文(简体) ), `/Repos/...`, (中文(简体) ), `/Shared/...` | 无改动(POSIX) | 工作空间 |
| `/dbfs/...` | 无改动(POSIX) | DBFS 函数 |

`~` 扩展用途 `getCurrentUserName()` (AppKit 语境 `userName`,则 `currentUser.me()` 结束 `tryGetWorkspaceClient` 编号 : `getWorkspaceClient`) (中文(简体) ). 偏爱 `DatabricksFileSystem.create({ root: "~" })` 当用户名未知时 前面 。 .

建造在 [@dbx-工具/共享-fs](https://npmcn.com/package/shared/fs) `BaseFileSystem`,如此可移植的行为(父母, 重现、编码、错误映射)与 `LocalFileSystem` 编号 : `MemoryFileSystem`。 。 。 .

## 确定工作空间身份

```ts
import { workspaceClient } from "@dbx-tools/databricks";

const url = await workspaceClient.getWorkspaceUrl();
const id = await workspaceClient.getWorkspaceId();
```

`workspaceClient.getWorkspaceUrl()` 检查活动的 AppKit 执行上下文 ,然后是默认 Databricks SDK 客户端,然后是环境/配置。 用进去 应该在 AppKit 请求内和从独立程序运行的库 剧本.

## 探测云提供方和区域

```ts
import { cloud } from "@dbx-tools/databricks";

const location = await cloud.resolveCloudLocation("https://adb-123.azuredatabricks.net");
```

`cloud.resolveCloudLocation()` DNS 解析工作空间主机并匹配其 IP针对AWS,Azure,和GCP公共范围反馈. 种子在磁盘上被缓存 持续24小时 构建特定区域服务 URL 时使用此功能 或路由工作空间附近的交通.

云出探出最上功德. 用于建造终点站和 开发商诊断,不用于安全政策决定.

## 解析网络细节

```ts
import { net } from "@dbx-tools/databricks";

const ips = await net.resolveHostIps("https://example.cloud.databricks.com");
const publicIp = await net.getPublicIp();
```

`net.resolveHostIps()` 接受相同的 URL 类似值为 `@dbx-tools/shared-core` `net.urlBuilder()`。 。 。 . `net.getPublicIp()` 被记为 短寿命再利用.

## 模块

-   `databricks-fs` 编号 : `databricks-path` - 扎实 `FileSystem` 在工作空间/卷/ DBFS 之上.
-   `workspace` - 工作空间 URL/id, `tryGetWorkspaceClient` 编号 : `getWorkspaceClient`,和当前用户名.
-   `cloud` - 从公共云IP范围发现供应商/地区.
-   `net` - DNS A/AAAA分辨率和境外公共-IP发现.

Zerobus 端点建设基于这些帮助者 [@dbx-tools/databricks-零公交车](https://npmcn.com/package/%40dbx-tools/databricks-zerobus)。 。 。 .

## 常见问题

### @dbx-tools/databricks 是什么？

数据砖工作空间、文件系统、云和网络工具

### 如何安装 @dbx-tools/databricks？

在项目目录运行 npm install @dbx-tools/databricks，或使用 pnpm add / yarn add / bun add。

### @dbx-tools/databricks 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @dbx-tools/databricks 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @dbx-tools/databricks 可以商用吗？

@dbx-tools/databricks 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @dbx-tools/databricks 的下载量有多少？

根据 npm 官方下载统计，@dbx-tools/databricks 在 2026/10/12 – 2026/11/10 这 30 天内被下载 10,815 次，日均约 361 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @dbx-tools/databricks 还在维护吗？

最新版本 0\.9\.206 发布于 2026/11/11（今天）；至今共发布 352 个版本，其中过去 12 个月发布了 352 个；首次发布于 2026/07/18。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

