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