@ dbx- 工具/ 共享- lakebox
浏览器-安全 Zod 合同和 app Lakebox 的路由构建器: 生命周期 摘要,当前用户的账户,服务,命令,日志,以及衡量标准.
验证服务定义
import { createLakeboxServiceRequestSchema } from "@dbx-tools/shared-lakebox";
const request = createLakeboxServiceRequestSchema.parse({
name: "hello",
image: "docker.io/library/python:3.12-alpine",
});
解析应用默认值( E)route: true, (中文(简体) ), stripPrefix: true, (中文(简体) ),
pull: "missing")并拒绝保留变量(SERVICE_NAME, (中文(简体) ),
SERVICE_PATH, (中文(简体) ), SERVICE_PORT, (中文(简体) ), PORT), Databricks 证书,内置
服务名称,并挂载用户家外的源.
对于路由服务,图像内部的进程必须倾听
127.0.0.1:$SERVICE_PORT。计划不支持多克式端口
发布、特权模式、设备或绝对主机挂载路径.
构建 API 和服务 URL
接受插件已公布的客户端配置为输入并生成每个 来自共享常数的路由 :
import { LAKEBOX_ROUTES, lakeboxRoute, type LakeboxClientConfig } from "@dbx-tools/shared-lakebox";
import { lakeboxServicePath } from "@dbx-tools/shared-lakebox/client";
export function lakeboxUrls(config: LakeboxClientConfig, userHash: string, serviceName: string) {
return {
start: `${config.basePath}${lakeboxRoute(LAKEBOX_ROUTES.serviceStart, {
name: serviceName,
})}`,
open: lakeboxServicePath(config.routePrefix, userHash, serviceName),
};
}
读取 basePath 财务报告和审定财务报表 routePrefix 从插件发布的客户端配置和
从 LAKEBOX_ROUTES服务路线
<routePrefix>/<user hash>/<service>。 。 。 .
验证服务器响应
在存储或渲染前分析服务器的响应 :
import {
LAKEBOX_ROUTES,
lakeboxMetricsResponseSchema,
lakeboxSummarySchema,
type LakeboxClientConfig,
} from "@dbx-tools/shared-lakebox";
export async function readLakebox(config: LakeboxClientConfig) {
const [statusResponse, metricsResponse] = await Promise.all([
fetch(`${config.basePath}${LAKEBOX_ROUTES.status}`),
fetch(`${config.basePath}${LAKEBOX_ROUTES.metrics}`),
]);
return {
summary: lakeboxSummarySchema.parse(await statusResponse.json()),
metrics: lakeboxMetricsResponseSchema.parse(await metricsResponse.json()),
};
}
合同涵盖生命周期状态、服务状态、有界限的日志、命令 结果,以及机器级CPU,内存,存储,和网络度量. 他们 不包含 Databricks 证书或请求身份标志.
使用合同界限
LAKEBOX_ROUTES包含插件 API 模板。 使用lakeboxRoute()编码 已命名的路由参数.lakeboxServicePath()构建一个认证的倒置代理路由 用户和服务.CreateLakeboxServiceRequest是呼叫器输入类型.LakeboxServiceDefinition是应用了默认的解析类型.- 日志请求默认为200行和16,000个字符.
- 服务名称
terminal财务报告和审定财务报表desktop预留用于内置服务. - 浏览器合同不执行生命周期,认证,SSH,或 反应状态. 这些能力存在于节点和UI包中.