Cloud Data Fusion监控流水线运行:获取每日流水线运行列表报告方案咨询
Cloud Data Fusion流水线运行记录日报表实现方案建议
以下是三类无专用开发库也可落地的可行方案:
方案1:调用Cloud Data Fusion原生REST API实现
不需要依赖专用SDK,直接调用官方公开的REST接口拉取数据:
- 首先用GCP服务账号密钥生成OAuth2访问令牌完成身份认证,服务账号需要授予
roles/datafusion.viewer权限 - 先调用
GET /v3/projects/{项目ID}/locations/{地域}/instances/{实例名}/namespaces/{命名空间}/pipelines接口拉取当前实例下的所有流水线列表 - 遍历所有流水线ID,调用
GET /v3/projects/{项目ID}/locations/{地域}/instances/{实例名}/namespaces/{命名空间}/pipelines/{流水线ID}/runs接口拉取运行记录,按startTime过滤当日启动的运行任务 - 提取你需要的字段(运行状态、起止时间、处理字节数、错误信息等)拼接成报表,可导出为CSV或直接写入BigQuery做可视化
参考curl调用示例:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://datafusion.googleapis.com/v3/projects/my-project/locations/us-central1/instances/my-instance/namespaces/default/pipelines/my-pipeline/runs?pageSize=100"
方案2:基于Cloud Logging导出实现(低代码方案)
Cloud Data Fusion所有流水线的运行事件都会自动同步到GCP Cloud Logging,无需开发接口调用逻辑:
- 在Cloud Logging控制台配置查询过滤器,筛选资源类型为
cloud_data_fusion_pipeline,时间范围设为当日,可直接查询到所有流水线的运行状态、耗时等元数据 - 配置日志Sink,定时将匹配规则的日志条目导出到BigQuery、Cloud Storage等存储介质
- 直接用SQL语句对导出的日志做统计聚合,快速生成每日运行报表,还可以对接可视化工具做数据看板
方案3:封装自动化任务实现全流程无人值守
将上面两种方案的逻辑封装成自动化任务,实现日报自动生成推送:
- 把数据拉取、报表生成逻辑用你熟悉的语言封装成Cloud Function或Cloud Run服务
- 用Cloud Scheduler配置每日固定时间触发服务执行
- 可扩展配置报表生成后自动发送邮件、企业微信/钉钉通知,或同步到内部报表系统
注意事项
- 权限配置要提前核验,拉取日志的场景需要给服务账号授予
roles/logging.viewer权限 - 调用API拉取大量运行记录时要处理分页逻辑,通过返回的
nextPageToken循环拉取全量数据 - 建议做增量拉取优化,只拉取上一次同步之后新产生的运行记录,降低API调用开销
内容的提问来源于stack exchange,提问作者Bazzz420
相关产品推荐
相关产品推荐

