Azkaban WebApi 调用
目錄
登錄接口
獲取projectid及flow列表
獲取某個project下flow的schedule執行計劃
修改執行時間
列表執行歷史
執行flow
刪除執行計劃
?
官方文檔:https://azkaban.readthedocs.io/en/latest/ajaxApi.html
?
登錄接口
調用示例:
curl -k -X POST --data "action=login&username=azkaban&password=azkaban" https://localhost:8443
注意:文中請求均以curl命令形式展現,最后的url是請求的url,-X POST代表POST方式請求,--data或-d代表POST請求的BODY體
{"status" : "success","session.id" : "c001aba5-a90f-4daf-8f11-62330d034c0a" }輸出示例:
?
?
取到session.id后,后續請求需該參數保持登錄狀態。
?
獲取projectid及flow列表
curl -k --get --data "session.id=6c96e7d8-4df5-470d-88fe-259392c09eea&ajax=fetchprojectflows&project=azkaban-test-project" https://localhost:8443/manager
?
輸出示例:
{"project" : "test-azkaban","projectId" : 192,"flows" : [ {"flowId" : "test"}, {"flowId" : "test2"} ] }?
?
獲取某個project下flow的schedule執行計劃
curl -k --get --data "session.id=XXXXXXXXXXXXXX&ajax=fetchSchedule&projectId=1&flowId=test" http://localhost:8081/schedule
?
輸出示例:
{"schedule" : {"cronExpression" : "0 * 9 ? * *","nextExecTime" : "2017-04-01 09:00:00","period" : "null","submitUser" : "azkaban","executionOptions" : {"notifyOnFirstFailure" : false,"notifyOnLastFailure" : false,"failureEmails" : [ ],"successEmails" : [ ],"pipelineLevel" : null,"queueLevel" : 0,"concurrentOption" : "skip","mailCreator" : "default","memoryCheck" : true,"flowParameters" : {},"failureAction" : "FINISH_CURRENTLY_RUNNING","failureEmailsOverridden" : false,"successEmailsOverridden" : false,"pipelineExecutionId" : null,"disabledJobs" : [ ]},"scheduleId" : "3","firstSchedTime" : "2017-03-31 11:45:21"} }?
修改執行時間
curl -k -d ajax=scheduleCronFlow -d projectName=wtwt -d flow=azkaban-training --data-urlencode cronExpression="0 23/30 5,7-10 ? * 6#3" -b "azkaban.browser.session.id=XXXXXXXXXXXXXX" http://localhost:8081/schedule
輸出示例:
{"message" : "PROJECT_NAME.FLOW_NAME scheduled.","scheduleId" : SCHEDULE_ID,"status" : "success" }列表執行歷史
curl -k --get --data "session.id=6c96e7d8-4df5-470d-88fe-259392c09eea&ajax=fetchFlowExecutions&project=azkaban-test-project&flow=test&start=0&length=3" https://localhost:8443/manager
start 開始位置
length 長度
?
輸出示例:
{"total" : 2,"executions" : [ {"submitTime" : 1562914409512,"submitUser" : "azkaban","startTime" : 1562914409540,"endTime" : 1562914409571,"flowId" : "command","projectId" : 9,"execId" : 48,"status" : "SUCCEEDED"}, {"submitTime" : 1562913985555,"submitUser" : "azkaban","startTime" : 1562913985583,"endTime" : 1562913985652,"flowId" : "command","projectId" : 9,"execId" : 47,"status" : "SUCCEEDED"} ],"length" : 3,"project" : "whqtest","from" : 0,"projectId" : 9,"flow" : "command" }?
執行flow
curl -k --get --data 'session.id=189b956b-f39f-421e-9a95-e3117e7543c9' --data 'ajax=executeFlow' --data 'project=azkaban-test-project' --data 'flow=test' https://localhost:8443/executor
返回值
{ message: "Execution submitted successfully with exec id 295", project: "foo-demo", flow: "test", execid: 295 }
?
刪除執行計劃
curl -k https://HOST:PORT/schedule -d "action=removeSched&scheduleId=SCHEDULE_ID" -b azkaban.browser.session.id=SESSION_ID
返回值
{ "message" : "PROJECT_NAME.FLOW_NAME scheduled.", "scheduleId" : SCHEDULE_ID, "status" : "success" }
?
總結
以上是生活随笔為你收集整理的Azkaban WebApi 调用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【微信小游戏实战】零基础制作《欢乐停车场
- 下一篇: C#字符处理