@dbx-tools/ 湖碱
解析数据砖 湖基目标进入主机、数据库和用户a
PostgreSQL客户端需要,然后请求短期数据库认证. 这个
软件包给予节点和 Bun 应用程序从工程中获取的剖析感路由
名称或资源 URL 到连接准备值。 当目标是一个湖基
没有选定数据库的路径或 URL, 发现选择分支默认
(单位:千美元)status.default然后Lakebase的供给 databricks_postgres改为
PostgreSQL 通用软件 postgres 数据库.
快开始
import { LakebaseClient, parseAddress } from "@dbx-tools/lakebase";
const client = new LakebaseClient({ profile: "PROFILE" });
const resolved = await client.resolve(parseAddress("projects/example"));
const password = await client.generateDatabaseCredential(resolved.endpoint);
const connection = {
host: resolved.host,
port: resolved.port,
database: resolved.database,
user: resolved.user,
password,
ssl: { rejectUnauthorized: true },
};
将解析的值传递给 pg, Drizzle,一个ORM,或者另一个PostgreSQL客户端.
在打开上游连接时请求证书 。 客户端重新使用
在API的两分钟前 expire_time,并存
刷新, 并且从未坚持过数据库密码 .
选择湖基集成
- 使用本地应用程序
lakebase()用于数据砖内的请求意识池 App. (英语). - 使用 @dbx-tools/appkit (英语) 当湖底环境值必须是 在 AppKit 插件初始化前解决 .
- 使用此软件包进行剖面识别发现和单独认证 节点或邦代码.
- 使用 dbx 湖碱代氧 当外部 PostgreSQL 时 客户端需要本地回路 URL .
选择目标
parseAddress() 接受项目ID、Canonical项目和分支资源,
端点或数据库资源,端点主机名,以及 PostgreSQL URL :
parseAddress("my-project");
parseAddress("projects/my-project/branches/production");
parseAddress("ep-example.database.cloud.databricks.com");
parseAddress("postgresql://host/database?sslmode=require");
使用 requireAddress() 当无效输入立即失败时。 使用
parseResourcePath() 当呼叫者必须提供 峡谷湖基资源
路径,而不是任何支持的地址窗体.
选择认证
将 Databricks 配置文件传递给 LakebaseClient 当本地应用程序必须使用时
特定的工作空间:
const lakebase = new LakebaseClient({ profile: "PROFILE" });
在Databricks App中,环境应用认证仍然可用. 启动
用户提供至 resolve() 或者说 generateDatabaseCredential() 被视为
配置文件只当它完全匹配已配置的本地配置文件。 明确
客户端简介总是获胜.
构建代理 URL
connectionUrl() 格式化当地URL
@dbx-tools/cli/lakebase-代理服务器数字 :
import { connectionUrl } from "@dbx-tools/lakebase";
connectionUrl("projects/my-project", "localhost", 5432);
// postgresql://localhost:5432/projects/my-project?sslmode=disable
API 参考
address剖析支持的目标和格式 本地代理 URL .client发现Lakebase资源并创建数据库证书.