Scheduler REST クライアント API

Scheduler RMI Client API の他に、Scheduler 管理ツールで提供されている REST API を通じて Scheduler サーバーとやり取りすることもできます。REST API のドキュメントは、 http://<host>:<port>/webadmin/denodo-scheduler-admin/swagger-ui.html で入手可能です。

まず初めに、この API を使用するためには、認証アクションを行う必要があります。認証アクションを実行する手順は以下のとおりです。

  1. http://<host>:<port>/webadmin/denodo-scheduler-admin/Ping を GET する

  2. XSRF-TOKEN 値をクッキーから抽出する

  3. http://<host>:<port>/webadmin/denodo-scheduler-admin/login を POST する

注釈

2 で取得した XSRF-TOKEN の値を持つヘッダー X-XSRF-TOKEN

2 で取得した XSRF-TOKEN の値を持つクッキー XSRF-TOKEN

  1. JSESSIONID 値をクッキーから抽出する

  2. 以下の値を使って API エンドポイントをリクエストする

注釈

2 で取得した XSRF-TOKEN の値を持つヘッダー X-XSRF-TOKEN

2 で取得した XSRF-TOKEN の値を持つクッキー XSRF-TOKEN

4 で取得した JSESSIONID の値を持つクッキー JSESSIONID

  1. http://<host>:<port>/webadmin/denodo-scheduler-admin/logout を POST する

注釈

2 で取得した XSRF-TOKEN の値を持つヘッダー X-XSRF-TOKEN

2 で取得した XSRF-TOKEN の値を持つクッキー XSRF-TOKEN

4 で取得した JSESSIONID の値を持つクッキー JSESSIONID

/api/me を呼び出してユーザー情報を取得する例は、次のようなものでした。

  1. Ping

curl -c - --location --request GET 'http://localhost:9090/webadmin/denodo-scheduler-admin/Ping'
  1. Login

curl -c - --location --request POST 'http://localhost:9090/webadmin/denodo-scheduler-admin/login' --header 'X-XSRF-TOKEN: <XSRF-TOKEN-VALUE-FROM-PING-COOKIE>' --header 'Cookie: XSRF-TOKEN=<XSRF-TOKEN-VALUE-FROM-PING-COOKIE>' --form 'username=admin' --form 'password=admin' --form 'uri=//localhost:8000'
  1. me

curl -c --location --request GET 'http://localhost:9090/webadmin/denodo-scheduler-admin/api/me' --header 'URI: //localhost:8000' --header 'X-XSRF-TOKEN: <XSRF-TOKEN-VALUE-FROM-PING-COOKIE>' --header 'Cookie: XSRF-TOKEN=<XSRF-TOKEN-VALUE-FROM-PING-COOKIE>; JSESSIONID=<JSESSIONID-VALUE-FROM-LOGIN-COOKIE>'
  1. Logout

curl -c - --location --request POST 'http://localhost:9090/webadmin/denodo-scheduler-admin/logout' --header 'URI: //localhost:8000' --header 'X-XSRF-TOKEN: <XSRF-TOKEN-VALUE-FROM-PING-COOKIE>' --header 'Cookie: XSRF-TOKEN=<XSRF-TOKEN-VALUE-FROM-PING-COOKIE>; JSESSIONID=<JSESSIONID-VALUE-FROM-LOGIN-COOKIE>'