Azkaban提供REST API,可供Ajax或Curl进行HTTP请求,但是所有的API调用首先需要进行身份认证。

Azkaban在servlet的isAjaxCall(HttpServletRequest request) 方法假定请求标头

  Content-Type:     application/x-www-form-urlencoded
  X-Requested-With: XMLHttpRequest

认证

字段 说明
Method POST
RequestURL /?action=login
Parameter Location Request Query String

API会帮助认证用户,并在响应中返回session.id,默认的超时时间是24h。

可以直接将session.id 作为参数

curl -k --get --data "session.id=bca1d75d-6bae-4163-a5b0-378a7d7b5a91&ajax=fetchflowgraph&project=azkaban-test-project&flow=test" https://localhost:8443/manager

或者是设置azkaban.browser.session.id 的cookie

curl -k --get -b "azkaban.browser.session.id=bca1d75d-6bae-4163-a5b0-378a7d7b5a91" --data "ajax=fetchflowgraph&project=azkaban-test-project&flow=test" https://localhost:8443/manager
参数 说明
action=login 登录操作的固定参数
username Azkaban用户名
password 相对应的密码

响应

参数 说明
error 返回登录失败的错误信息
session.id 登录成功,返回session id

简单的curl请求

curl -k -X POST --data "action=login&username=azkaban&password=azkaban" https://localhost:8443
{
  "status" : "success",
  "session.id" : "c001aba5-a90f-4daf-8f11-62330d034c0a"
}

results matching ""

    No results matching ""