尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Apache DolphinScheduler API 接入与集成:5 大场景跑通完整流程
Apache DolphinScheduler API 接入与集成5 大场景跑通完整流程【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinscheduler还在页面上一格一格地点想在 CI/CD 或自研平台里用代码统一管调度DolphinScheduler 的 REST 接口就是干这事的。这篇文章带你从拿到第一个令牌到把项目、工作流、实例、统计、权限五类操作全部用接口跑通。所有命令都基于仓库真实实现复制即可执行。5 分钟跑通第一个请求先说结论Token 认证最适合脚本和 CI——它无状态、不依赖 Cookie、可以跨机器复用比会话式登录更适合自动化。整条链路只有三步登录拿会话 → 用会话建一个令牌 → 之后每次请求带token头。# 步骤 1登录把会话 cookie 写到本地文件 curl -c /tmp/ds.txt -X POST http://localhost:12345/dolphinscheduler/login \ -d userNameadmin -d userPassworddolphinscheduler123 # 步骤 2复用会话创建访问令牌 curl -b /tmp/ds.txt -X POST http://localhost:12345/dolphinscheduler/access-tokens \ --data-urlencode userId1 \ --data-urlencode expireTime2027-01-01 00:00:00拿到data里的令牌字符串后把它设为环境变量发第一个业务请求export DS_TOKEN上一步返回的 token # 步骤 3带 token 头查项目列表 curl -X GET http://localhost:12345/dolphinscheduler/projects?pageNo1pageSize10 \ -H token: ${DS_TOKEN}返回长这样{ code: 0, msg: success, data: { totalList: [ { code: 100000000000, name: demo, description: etl } ], total: 1, pageSize: 10, currentPage: 1 } }逐字段拆解code整型结果码0代表成功非 0 才是出错。这是判断成败的第一依据。msg人类可读提示成功时固定是success出错时给出原因。data真正的业务数据。可能是对象、数组也可能是分页对象。分页对象data有四个稳定字段totalList当前页数据数组、total总条数、pageSize每页条数、currentPage当前页码。记住这四个后面所有列表接口通用。路径与约定一张表建立地图感先把地图画清楚后面查接口就不慌了。概念说明例子基础前缀默认端口 12345加上 context-pathhttp://host:12345/dolphinscheduler/版本前缀没有/v1、/v2作用域靠路径段区分projects/{projectCode}/...projectCode项目唯一编码长整型多数接口必带100000000000资源定位资源名 /{code}或/{id}datasources/{id}分页参数pageNo与pageSize成对出现?pageNo1pageSize20认证头每次请求带令牌-H token: xxx两个容易踩的坑先点出来鉴权失败没有 JSON。令牌为空、过期或用户被停用时拦截器直接回 HTTP401没有 body。所以代码里要同时判HTTP 状态和code字段两层。code 和 id 别混。projectCode、workflowDefinitionCode是长整型业务编码走路径id是自增主键多用于数据源、用户、实例。想深入系统结构可以参考 架构设计文档。场景一管理项目资产项目是最外层容器工作流、任务都挂在项目下。这个场景解决程序里怎么建项目、改名、拉列表。方法路径用途POSTprojects创建项目PUTprojects/{code}更新项目GETprojects/{code}查询项目详情GETprojects查询项目列表DELETEprojects/{code}删除项目创建一个项目参数走 formprojectName必填curl -X POST http://localhost:12345/dolphinscheduler/projects \ -H token: ${DS_TOKEN} \ --data-urlencode projectNameetl_platform \ --data-urlencode description数据平台 ETL 项目名字重复会返回10019项目名已存在。删项目前注意项目里还有工作流定义时删不掉会报10137得先把定义清掉。场景二定义任务与工作流改版本、发布上线工作流定义是核心资产。这里解决代码里怎么建流程、留版本、上线。任务定义嵌在工作流里创建也有独立接口查版本。方法路径用途POSTprojects/{projectCode}/workflow-definition创建工作流定义GETprojects/{projectCode}/workflow-definition查询工作流定义列表GETprojects/{projectCode}/workflow-definition/{code}/versions查询工作流历史版本POSTprojects/{projectCode}/workflow-definition/{code}/release上线 / 下线工作流GETprojects/{projectCode}/task-definition/{code}查询任务定义详情关键动作是发布。release接口的releaseState取ONLINE上线或OFFLINE下线只有上线状态的工作流才能被触发运行curl -X POST http://localhost:12345/dolphinscheduler/projects/100000000000/workflow-definition/100000000001/release \ -H token: ${DS_TOKEN} \ -d releaseStateONLINE忘了上线就去跑会收到50004工作流版本未上线。改版本时若版本正被引用切换会报110013该版本被使用。场景三触发运行、启停与重跑实例这一节解决怎么让流程跑起来、再管住它。触发走executors实例查询与删除走workflow-instances停单个任务走task-instances。方法路径用途POSTprojects/{projectCode}/executors/start-workflow-instance触发运行GETprojects/{projectCode}/workflow-instances查询工作流实例列表DELETEprojects/{projectCode}/workflow-instances/{id}删除工作流实例POSTprojects/{projectCode}/task-instances/{id}/stop停止任务实例触发运行需要一批参数其中workflowDefinitionCode、scheduleTime、failureStrategy、warningType、workflowInstancePriority必填。先跑一条列表查询确认连通与数据curl -X GET http://localhost:12345/dolphinscheduler/projects/100000000000/workflow-instances?pageNo1pageSize10 \ -H token: ${DS_TOKEN}实例上的启停操作和当前状态强绑定对一个已经成功结束的实例再发停止命令会报50006实例状态不支持该操作。所以动手前先查状态再决定发什么。场景四查运行状态与统计监控这一节解决批量看健康度。统计接口挂在projects/analysis下startDate、endDate、projectCode都可选不传就统计全量。方法路径用途GETprojects/analysis/task-state-count查询任务状态统计GETprojects/analysis/workflow-state-count查询工作流状态统计GETprojects/analysis/queue-count查询队列任务堆积GETprojects/analysis/listErrorCommand查询失败任务列表查任务各状态数量不传时间则统计全量curl -X GET http://localhost:12345/dolphinscheduler/projects/analysis/task-state-count \ -H token: ${DS_TOKEN}把task-state-count的失败数、queue-count的堆积数纳入你的大盘比盯着单个实例更能反映系统健康。场景五配数据源与用户权限最后一节解决给 SQL 任务连库、给用户开权限。数据源全局管理用户与项目授权配套进行。方法路径用途POSTdatasources创建数据源GETdatasources/{id}/connect-test测试数据源连接POSTusers/create创建用户POSTusers/grant-project授予项目权限GETdatasources查询数据源列表先拉一下当前数据源列表确认命名与可用范围curl -X GET http://localhost:12345/dolphinscheduler/datasources?pageNo1pageSize10 \ -H token: ${DS_TOKEN}创建数据源前先调connect-test预检连不上会返回10016建连失败。用户没被授权到项目时任何项目内操作都会回30002用户无该项目权限这时要回头补授权。更多字段说明可查 中文使用指南。错误码与排查常用错误码先给一张表msg是提示处理建议告诉你往哪查错误码含义处理建议0成功—10013用户名或密码错误检查登录凭据10018项目不存在核对 projectCode10019项目名称已存在换个名字50001工作流实例不存在核对实例 id50003工作流定义不存在核对工作流 code50004工作流版本未上线先调 release 上线50006实例状态不支持该操作查当前状态再操作30002用户无该项目权限先补项目授权70015访问令牌不存在重新生成令牌再答几个高频问题问拿到的是401但没有 JSON body令牌过期、写错或用户被停用拦截器会直接回401空 body。这不是业务错误别按code去解析。重新登录生成令牌即可。问报50004 工作流版本未上线你触发的是一个还没上线的草稿。对同一工作流调releasereleaseStateONLINE后再触发。问报30002 用户无该项目权限这个令牌对应的用户没被授权到目标项目。先走用户授权grant-project再重发原请求。问列表接口code是 0但totalList是空的多半是searchVal过滤掉了全部数据或当前用户对该项目无任何可见资源。去掉搜索词再试仍为空就确认授权。工程化建议落到生产这四件事值得做每条都给一句可执行做法连接复用HTTP 客户端开 keep-alive 长连接池别每次请求新建连接省掉反复握手的开销。指数退避重试只对幂等的GET和5xx重试code ! 0的业务错误不要无脑重发。批量分片节流批量创建或删除时按每批约 50 条切片批间短暂等待避免瞬时打满服务端。调用量监控对code ! 0、4xx、5xx分别打点失败率超阈值就告警别等调用方来反馈。接入前检查清单动手前过一遍这四条能省掉大半返工基础地址对http://host:12345/dolphinscheduler/确认端口与 context-path 一致。令牌有效token头能正常通过且注意401与code两层判断都要覆盖。权限到位调用用户已授权目标项目否则项目内操作必报30002。状态先行对实例的启停、删除操作先查状态再决定动作避开50006。【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinscheduler创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

5步翻译日文视觉小说:LunaTranslator视觉小说翻译器完整教程

5步翻译日文视觉小说:LunaTranslator视觉小说翻译器完整教程

5步翻译日文视觉小说:LunaTranslator视觉小说翻译器完整教程 【免费下载链接】LunaTranslator 视觉小说翻译器 / Visual Novel Translator 项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator LunaTranslator是一款免费的视觉小说翻译器&…

📅 2026/9/12 5:37:30
宏智树AI论文写作工具:智能文献管理与格式自动排版实战

宏智树AI论文写作工具:智能文献管理与格式自动排版实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/12 5:37:30
太极拳姿态识别系统:从骨骼关键点到动作分类实战解析

太极拳姿态识别系统:从骨骼关键点到动作分类实战解析

简介:一套基于 Python 的太极拳姿态识别系统源码包,面向计算机视觉、姿态估计学习者和课程/毕业设计开发者,解决动作识别与比对场景下的工程落地问题。资源共 114 个文件、约 1.79MB,以 80 张 jpg 姿态样本图片和 13 个 py 脚本为…

📅 2026/9/12 5:32:30
MORE NEWS

更多资讯

📰

LDPC码:从理论到5G通信的工程实践

1. LDPC码的前世今生:从理论到标准化的演进2000年,当David MacKay教授在剑桥大学的实验室里首次实现LDPC码的实用化译码时,可能没想到这种诞生于1962年的编码方案会在21世纪改变整个通信行业的格局。LDPC(Low-Density Parity-Chec…

📰

重庆POI数据集解析与应用实践

1. 项目背景与数据价值 POI(Point of Interest)数据作为城市数字化的基础元素,正在智慧城市建设中扮演着越来越关键的角色。这份2025年重庆市的145万全类别POI数据集,可以说是目前国内最完整的城市兴趣点数据集合之一。我去年参与…

📰

Python作业实战:从基础语法到项目开发

1. Python第二次作业解析与实战指南作为Python入门学习的关键节点,第二次作业往往标志着从基础语法向实际应用的过渡阶段。我结合多年Python教学经验,将这类作业的常见模式归纳为三个进阶维度:基础语法强化、问题解决思维培养和简单项目实践。…

📰

AI SDK 函数示例开发指南:在 examples/ai-functions 中编写、运行与维护可验证示例

AI SDK 函数示例开发指南:在 examples/ai-functions 中编写、运行与维护可验证示例 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and agent…

📰

LlamaIndex 组件级评估(Component-Wise Evaluation)实战指南:用 BEIR 与 HotpotQA 定位检索与问答引擎的薄弱环节

LlamaIndex 组件级评估(Component-Wise Evaluation)实战指南:用 BEIR 与 HotpotQA 定位检索与问答引擎的薄弱环节 【免费下载链接】llama_index LlamaIndex is the document processing platform for AI 项目地址: https://gitcode.com/Git…

📰

工业级提示词引擎:Prompt as Code工程实践

1. 项目概述:这不是一个“玩具级”提示词工具,而是一套可嵌入生产环境的工业级提示词编排系统你有没有遇到过这样的场景:在写一个需要调用GPT或Claude生成结构化报告的自动化脚本时,提示词越写越长,从最初的300字膨胀到…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬