@dbx-tools/databricks

中文文档
0.9.206发布于 2026/11/11Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 1.1万

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

中文使用文档
文档目录7 节
  1. 快开始
  2. 选择应用程序或代理文件访问
  3. 文件系统目标
  4. 确定工作空间身份
  5. 探测云提供方和区域
  6. 解析网络细节
  7. 模块

@dbx-tools/ 数据砖

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

快开始

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

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 (英语) 用于主机本地文件.

文件系统目标

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/volumeUC 文件
/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 BaseFileSystem,如此可移植的行为(父母, 重现、编码、错误映射)与 LocalFileSystem 编号 : MemoryFileSystem。 。 。 .

确定工作空间身份

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

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

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

探测云提供方和区域

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 时使用此功能 或路由工作空间附近的交通.

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

解析网络细节

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-零公交车。 。 。 .

版本与发布记录

@dbx-tools/databricks 共发布 352 个版本,首次发布于 2026/07/18;过去 12 个月发布了 352 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.9.206latest2026/11/11今天
0.9.2052026/11/111 天前
0.9.2032026/11/074 天前
0.9.2022026/11/065 天前
0.9.2012026/11/056 天前
0.9.2002026/11/056 天前

关于 @dbx-tools/databricks 的常见问题

@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 和提交记录判断。