logo资料库

AzkabanAPI接口文档汇总.pdf

第1页 / 共35页
第2页 / 共35页
第3页 / 共35页
第4页 / 共35页
第5页 / 共35页
第6页 / 共35页
第7页 / 共35页
第8页 / 共35页
资料共35页,剩余部分请下载后查看
Azkaban API 接口文档汇总 l Authenticate l Create a Project l Delete a Project l Upload a Project Zip l Fetch Flows of a Project l Fetch Jobs of a Flow l Fetch Executions of a Flow l Fetch Running Executions of a Flow l Execute a Flow l Cancel a Flow Execution l Schedule a period-based Flow (Deprecated) l Flexible scheduling using Cron l Fetch a Schedule l Unschedule a Flow l Set a SLA l Fetch a SLA l Pause a Flow Execution l Resume a Flow Execution l Fetch a Flow Execution l Fetch Execution Job Logs l Fetch Flow Execution Updates
1. Authenticate 获取 user session id • Method: POST • Request URL: /?action=login • Parameter Location: Request Query String Request Parameters Parameter Description action=login The fixed parameter indicating the login action. username The Azkaban username. password The corresponding password. Response Object Parameter Description error Return an error message if the login attempt fails. session.id Return a session id if the login attempt succeeds. Request URL: curl -k -X POST --data "action=login&username=azkaban&password=azkaban" https://localhost:8443
response body: { "session.id" : "bf8dd33b-cfc1-465a-a1c7-55edee8818f1", "status" : "success" } 2.Create a Project 创建一个 project • Method: POST • Request URL: /manager?action=create • Parameter Location: Request Query Request Parameters Parameter Description session.id The user session id. action=create The fixed parameter indicating the create project action. name The project name to be uploaded. description The description for the project. This field cannot be empty. Response Object 1. (if the request succeeds): Para mete r statu s path Description The status of the creation attempt. The url path to redirect
Para mete r actio n Description The action that is suggested for the frontend to execute. (This is designed for the usage of the Azkaban frontend javascripts, external users can ignore this field.) Request URL: curl -k -X POST --data "session.id=9089beb2-576d-47e3-b040- 86dbdc7f523e&name=aaaa&description=11" https://localhost:8443/manager?action=create response body: { "status":"success", "path":"manager?project=aaaa", "action":"redirect" } 3.Delete a Project 删除一个 project • Method: GET • Request URL: /manager?delete=true • Parameter Location: Request Query Request Parameters
Parameter Description session.id The user session id. delete=true The fixed parameter to indicate the deleting project action. project The project name to be deleted. Request URL: curl -k --get --data "session.id=bca1d75d-6bae-4163-a5b0- 378a7d7b5a91&delete=true&project=test-delete-project" https://localhost:8443/manager response body: {} 4.Upload a Project Zip 上传一个 zip 文件 • Method: POST • Content-Type: multipart/mixed • Request URL: /manager?ajax=upload • Parameter Location: Request Body Request Parameters Parame ter session.i d The user session id. Description
Parame ter ajax=up load Description The fixed parameter to the upload action. project The project name to be uploaded. The project zip file. The type should be set file as application/zip or application/x-zip-compressed . Response Object Parameter Description error The error message if the upload attempt fails. projectId The numerical id of the project version The version number of the upload Request URL: curl -k -i -H "Content-Type: multipart/mixed" -X POST --form 'session.id=e7a29776-5783-49d7-afa0-b0e688096b5e' --form 'ajax=upload' --form 'file=@myproject.zip;type=application/zip' - -form 'project=MyProject;type/plain' https://localhost:8443/manager response body: { "error" : "Installation Failed.\nError unzipping file.", "projectId" : "192", "version" : "1" }
5.Fetch Flows of a Project 获取一个 project 的任务流 • Method: GET • Request URL: /manager?ajax=fetchprojectflows • Parameter Location: Request Query String Request Parameters Parameter Description session.id The user session id. ajax=fetchprojectflow s The fixed parameter indicating the fetchProjectFlows action. project The project name to be fetched. Response Object Paramete r Description project The project name. projectId The numerical id of the project. flows A list of flow ids. Example values: [{“flowId”: “aaa”}, {“flowId”: “bbb”}] request URL: curl -k --get --data "session.id=bf8dd33b-cfc1-465a-a1c7- 55edee8818f1&ajax=fetchprojectflows&project=report" https://localhost:8443/manager
response body: { "flows" : [ { "flowId" : "mkt_report_finish" }, { "flowId" : "time_slot_18_finish" }, { "flowId" : "important_finish" }, { "flowId" : "hourly_report" }, { "flowId" : "boss_finish" }, { "flowId" : "time_slot_0_finish" }, { "flowId" : "essential_finish" }, { "flowId" : "coupon_finish" }, { "flowId" : "daily_report" }, { "flowId" : "hourly_report_fake" }, { "flowId" : "monthly_report" }, { "flowId" : "brand_daily_1430" }, { "flowId" : "competing_sale_monitor_1800" }, { "flowId" : "time_slot_13_finish" }, { "flowId" : "ltd_finish" }, { "flowId" : "normal_finish" }, { "flowId" : "competing_sale_monitor_2330" }, { "flowId" : "publish_report" } ], "project" : "report", "projectId" : 19 }
分享到:
收藏