You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过API调用收集DBT JOB运行历史及特定时段失败任务记录?

通过API获取dbt Job运行历史及失败任务记录

获取指定Job的运行历史

  • 调用dbt Cloud运行记录API端点,需指定账号ID和Job ID:
    GET /api/v2/accounts/{account_id}/jobs/{job_id}/runs/
    
  • 请求头必须携带认证Token:
    Authorization: Token <你的API令牌>
    
  • 可通过page_size(默认20)和page参数分页获取全量数据,避免单次返回结果过多。

获取所有Job的运行历史

如果需要收集账号下所有Job的运行记录,分两步操作:

  1. 先调用Job列表API获取所有Job的ID:
    GET /api/v2/accounts/{account_id}/jobs/
    
  2. 遍历每个Job ID,调用上述运行记录端点,汇总所有结果。

筛选特定时间段内的失败任务

在调用运行记录API时,添加以下查询参数实现精准筛选:

  • started_at_after:指定时间段起始时间,格式为UTC的ISO 8601字符串(如2024-01-01T00:00:00Z)
  • started_at_before:指定时间段结束时间,格式同上
  • status=5:dbt Cloud中5代表任务失败状态(状态码枚举:1=排队,2=启动中,3=运行中,4=成功,5=失败,6=取消)

示例Curl请求

curl -H "Authorization: Token YOUR_API_TOKEN" \
  "https://cloud.getdbt.com/api/v2/accounts/YOUR_ACCOUNT_ID/jobs/YOUR_JOB_ID/runs/?started_at_after=2024-01-01T00:00:00Z&started_at_before=2024-01-31T23:59:59Z&status=5"

注意事项

  • 确保你的API令牌拥有job read权限,否则会返回权限错误
  • 时间参数必须使用UTC时区,避免因时区偏差导致数据不准确
  • 若筛选结果数量较大,需结合分页参数遍历所有页面,确保获取全量失败任务记录

内容的提问来源于stack exchange,提问作者Vicky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 07:07:10