dltHub 0.27 版本发布解读:Credits 计量、计费页面、工作区归档与 API 破坏性变更
【免费下载链接】dltdata load tool (dlt) is an open source Python library that makes data loading easy 🛠️项目地址: https://gitcode.com/GitHub_Trending/dl/dlt
dlt 生态中的托管平台 dltHub 在 0.27 版本(2026 年 8 月 31 日发布,配套dlthub-client0.28.3)引入了一整套围绕"用量"与"运维治理"的能力:以 credits 统一计量运行时长、面向组织所有者的 Billing 页面、Web 应用中的工作区归档、更清晰的作业列表,以及全面服务端化的搜索与过滤。读完本篇,你能完整理解 credits 与实例规格的换算关系、升级 CLI 的必要性、直接调用 dltHub API 时的参数迁移要点,以及归档工作区的操作边界。
版本概览与破坏性变更
0.27 是一次面向平台运营与 API 消费者的功能发布,核心内容包括:新增 Billing 页面、用量以 credits 上报、Web 应用支持工作区归档、试用期从首次运行(而非注册)开始计时,以及可在 dltHub 内直接联系支持团队。本次发布包含两个必须重视的破坏性变更:
CLI 必须升级到 0.28.3。新版运行时(runtime)会拒绝更旧的 CLI——旧版本 CLI 仍会发送本版本已移除的两个查询参数。升级命令为:
uv pip install -U "dlt[hub]"安装与升级的完整说明参见 安装文档。该文档中给出的安装示例形如
uv pip install -U "dlt[hub]==1.27.0"(固定版本安装);升级已有安装时按上述不加版本约束的方式拉取最新即可。Web 用户不受影响,因为 dashboard 与 API 是一起发布的,不存在 CLI 与后端的版本错配问题。直接调用 API 的用户:
status_filter参数已移除,archived变为布尔值。具体迁移方式:- 工作区 runs 列表接口:改用
status参数替代原先的status_filter; - 作业(jobs)列表接口:
archived不再接受字符串"all"、"true"、"false",只接受布尔值;并且省略该参数时,现在会同时列出已归档与未归档的作业(旧行为是仅列出未归档的)。如果你的代码依赖"不传archived就只看在线作业"的旧语义,必须显式传参。
- 工作区 runs 列表接口:改用
说明:上述 API 行为变化来自 发布说明 文档本身;dltHub 的后端 API 服务不在此开源仓库中(本仓库包含的是
dlt库与dlt/_workspace/cli下的 CLI/运行时客户端侧代码),因此这些参数语义以官方发布文档为准。
用量以 credits 计量:定义与实例倍率
0.27 起,平台用量以 credits 上报。1 个 credit = 在small实例上运行 1 小时。更大实例按倍率折算(倍率定义与 作业配置文档 中的 Instance size 表格一致):
| 实例规格 | 倍率 |
|---|---|
small | 1× |
medium | 2× |
large | 4× |
xlarge | 8× |
结合仓库中的 Job configuration 文档,倍率背后的资源规格如下表(该特性处于 public preview):
size | vCPU | 内存 | 磁盘 | 倍率 |
|---|---|---|---|---|
small | 2 | 4 GiB | 500 GB | 1× |
medium | 4 | 8 GiB | 500 GB | 2× |
large | 8 | 16 GiB | 500 GB | 4× |
xlarge | 16 | 32 GiB | 500 GB | 8× |
实例规格通过@run.pipeline/@run.job/@run.interactive装饰器的require.instance声明:
@run.pipeline( my_pipeline, require={"instance": {"size": "medium"}}, ) def heavy_sync(): ...不声明instance时作业默认使用small。按倍率折算的含义是:一次 1 小时的large运行会消耗 4 小时(4 credits)的运行时长预算。因此,若对用量敏感,优先考虑通过 dlt 管道层面的调优(分块、并行度、内存设置)降低所需实例规格,而不是盲目放大资源。在应用内,凡出现 credit 数值的位置都配有 tooltip 解释该定义。
重新设计的用量页面
工作区用量页面已与组织视图对齐,包含:
- 堆叠的批次图与可交互的 credits 图表,以及按作业类型划分的图例;
- 时间范围选择与Monthly / Weekly / Daily工具栏;
- 新增的Credits by Instance Size面板:展示每种实例规格的倍率及其在总用量中的占比。
组织级别的 Usage 标签页新增了Weekly维度(原有 Monthly 和 Daily)。同时,用量信息现在仅保留在专属的设置页面中展示,不再散落各处。
面向组织所有者的 Billing 页面
组织所有者(organization owner)可以在 设置页面 中看到新的Billing页面,两类组织的展示内容不同:
- 试用(Trial)组织:显示当前套餐、试用到期时间与用量,并提供预约升级咨询(book an upgrade call)的链接;
- 付费(Paid)组织:展示计费方式——要么是一个直达 Stripe 客户门户(customer portal)的链接,要么是一条"以发票(invoiced)方式计费"的说明。
试用从首次运行开始
这是一个对试用用户非常关键的规则变更:14 天试用期及其附带的 30 美元 credits,现在从你的第一个作业运行开始计时,而不是从注册时开始——即计时器不会在你还未使用任何资源之前空转。具体规则:
- 任何batch 或 stream 运行都会启动试用,无论该次运行成功还是失败;
- 交互式(interactive)作业(如 dashboard 与分享链接)不会启动试用,其定义可参见 管道操作概览 中的 Batch vs Interactive 一节;
- 尚未运行过任何作业的组织会在界面上看到一条横幅,带Get started链接引导首次运行。
从源码结构看,本仓库中dlt/_workspace/deployment/目录承载了部署清单(manifest)、作业引用(job ref)、新鲜度(freshness)与触发器(trigger)等平台交互客户端逻辑,dlt/_workspace/deployment/launchers/下则有 dashboard、streamlit、marimo、job 等不同类型的启动器模块——这与文档中 batch/stream/interactive 三类作业运行在客户端侧的分型相吻合。
Web 应用中的工作区归档
工作区(Workspace)现在可以从工作区设置中新增的Danger Zone归档。操作语义与边界如下:
- 执行者:工作区或组织所有者;
- 前置条件:目标工作区没有正在运行的活动任务(no active runs);
- 归档后效果:工作区变为只读,其上的调度(schedules)停止运行,工作区头像带有归档的视觉标识;
- 刻意不做的事:系统不会把你"强制迁移"到另一个工作区——归档后你的当前上下文保持不变。
组织的工作区列表新增了Active / All过滤器以显示已归档的工作区。该过滤器状态是 URL 的一部分,因此一个指向归档工作区的链接打开后会落在能看到它的那个列表上(All 视图),不会出现"链接 404"式的体验断裂。
更清晰的作业列表
Jobs 列表中的Trigger列现在展示"下一次实际启动作业的触发器"。此前的问题有三点:
- 该列显示的是一段管道(pipeline)名称,而不是真正的触发器;
- 对于仅支持手动触发的作业,该列完全为空;
- 已暂停或触发时间已过的触发器被当作"仍会触发"来呈现。
0.27 起该列如实表达下一次将由什么启动作业,与 触发器与调度文档 中定义的触发器模型保持一致。
所有列表的服务端搜索与过滤
0.27 将搜索、多值过滤与排序下沉到服务端,覆盖全部工作区实体列表:jobs、job runs、pipeline runs,以及 pipeline 与 dataset 概览。其实际意义是:过滤和排序作用于整个数据集,而不仅仅是当前分页窗口内的数据——在大数据量工作区中,这解决了"翻完所有页才能筛出目标记录"的旧痛点。
共享数据网格(shared data grid)组件同步获得了可排序、可过滤的列能力,以及对超长值的 tooltip 悬浮预览。
应用内联系支持
Intercom 消息器现已对所有人启用,支持团队可以直接在 dltHub 内触达,无需离开应用切换到邮件或外部工单系统。
面向 API 消费者:稳定的认证错误码
除前文所述的status_filter/archived变更外,0.27 对 API 可观测性做了另一项改进:认证失败(auth failures)现在携带稳定的、机器可读的错误码,与人类可读的错误消息并存。客户端可以基于错误码做分支处理(例如区分"令牌过期"与"凭据无效"),而不必再去匹配易变的英文文案。文档特别指出这些错误码在服务间跳转(hop between services)后仍然保持,意味着网关与服务内部抛出同一语义的错误时,客户端看到一致的可识别编码。
总结与升级检查清单
0.27 版本的 dltHub 把"平台治理"从管理后台前移到了用户可感知的产品层面:credits 让用量口径可计算、可审计;Billing 页面让费用归属透明;工作区归档让生命周期管理有了产品化入口;服务端搜索过滤让大规模工作区可用。结合仓库文档,建议的升级核对清单:
- 执行
uv pip install -U "dlt[hub]"将 CLI 升级到 0.28.3 或更高,避免运行时拒绝旧 CLI(详见 安装文档); - 检查任何直接调用 dltHub API 的脚本:移除
status_filter用法、将archived改为布尔传参,并确认是否依赖"省略archived只看在线作业"的旧默认行为; - 复核各作业的
require.instance规格:在 1 credit = 1 小时small的口径下,用倍率(medium 2× / large 4× / xlarge 8×,见 作业配置文档)重新估算预算; - 试用组织注意:计时从首次 batch/stream 运行开始,交互式作业不触发;
- 需要归档的工作区,确认无活动运行后由所有者在 Danger Zone 操作,并善用 URL 中的 Active/All 过滤器分享归档工作区链接。
参考
- Release highlights: 0.27 — 本篇对应的官方发布说明
- 上一版 Release highlights: 0.26
- Job configuration — 实例规格、依赖组与作业超时等配置
- Triggers and scheduling — 触发器模型
- What is a workspace — 工作区概念
- Settings — 设置与 Billing 页面入口
- Installation —
dlt[hub]安装与升级
【免费下载链接】dltdata load tool (dlt) is an open source Python library that makes data loading easy 🛠️项目地址: https://gitcode.com/GitHub_Trending/dl/dlt
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考