找回密码
 立即注册
首页 业界区 安全 DolphinScheduler接口实操(二):如何寻找接口 ...

DolphinScheduler接口实操(二):如何寻找接口

诈知 2025-6-11 09:11:25
1.png

转载自风_间
上一篇写了《DolphinScheduler接口实操(一):利用接口实现高效批量工作流导入及脚本上线》,通过DolphinScheduler的一些接口来实现导入-上线工作流,那么DolphinScheduler的接口应该怎么找呢?在此简单总结一篇。
接下来以手动执行一次工作流为例。
寻找接口

首先需要手动操作,要执行工作流就要到工作流定义页面执行。
2.png

就在这里进入F12 – 网络,然后去点一个任务的运行。
3.png

就能看到接口,15410101436864 就是上面工作流的code。
4.png

把工作流执行完。
5.png

URL

继续观察接口。发现东西增加了。
6.png

请求URL和请求方法就是有用信息。
  1. start_process_url = 'http://IP:12345/dolphinscheduler/projects/{project_id}/executors/start-process-instance'
  2. # 请求方法是POST
复制代码
请求参数

接着找请求参数
7.png

把这些东西拿出来,就是请求体
  1. data = {
  2.         'processDefinitionCode': process_code,
  3.         'failureStrategy': 'CONTINUE',
  4.         'warningType': 'FAILURE',
  5.         'warningGroupId': 2,
  6.         'execType': 'START_PROCESS',
  7.         'startNodeList': [],
  8.         'taskDependType': 'TASK_POST',
  9.         'complementDependentMode': 'OFF_MODE',
  10.         'runMode': 'RUN_MODE_SERIAL',
  11.         'processInstancePriority': 'MEDIUM',
  12.         'workerGroup': 'default',
  13.         'environmentCode': '',
  14.         'startParams': '',
  15.         'expectedParallelismNumber': '',
  16.         'dryRun': 0,
  17.         'scheduleTime':{"complementStartDate": "2024-10-25 00:00:00", "complementEndDate": "2024-10-25 00:00:00"}
  18.     }
复制代码
测试接口

找到之后就测试一下接口是否正常可用 python 或 foxapi之类的工具,head token 在上一篇已经讲过了,不再赘述。
  1. start_process_url = 'http://IP:12345/dolphinscheduler/projects/{project_id}/executors/start-process-instance'project_id = ''tokenheaders = {    'Accept': 'application/json',    'token': token}def start_process(process_code):    url = start_process_url.format(project_id=project_id)    data = {
  2.         'processDefinitionCode': process_code,
  3.         'failureStrategy': 'CONTINUE',
  4.         'warningType': 'FAILURE',
  5.         'warningGroupId': 2,
  6.         'execType': 'START_PROCESS',
  7.         'startNodeList': [],
  8.         'taskDependType': 'TASK_POST',
  9.         'complementDependentMode': 'OFF_MODE',
  10.         'runMode': 'RUN_MODE_SERIAL',
  11.         'processInstancePriority': 'MEDIUM',
  12.         'workerGroup': 'default',
  13.         'environmentCode': '',
  14.         'startParams': '',
  15.         'expectedParallelismNumber': '',
  16.         'dryRun': 0,
  17.         'scheduleTime':{"complementStartDate": "2024-10-25 00:00:00", "complementEndDate": "2024-10-25 00:00:00"}
  18.     }    response = requests.post(url, headers=headers, data=data)    print(response.status_code)    if __name__ == '__main__':    start_process('15402965147328')
复制代码
执行之后,在DolphinScheduler的工作流实例观察一下,确实运行了,而且代码中返回了200,说明一切都是正常的,可以用的。
这里结合上一篇中获取工作流列表的方法,就可以实现把所有工作流手动执行一次。
原文链接:https://blog.csdn.net/weixin_45399602/article/details/143232944
本文由 白鲸开源 提供发布支持!

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册