list-dashboards.py
# coding: utf-8
import pprint
import json
import requests
host = 'xxx.xxx.xxx.xxx:8080' # Supersetのホスト名またはIPアドレスとポート
user = 'admin' # ユーザ名
password = 'adminpass' # ユーザパスワード
base = "http://{}".format(host)
# ユーザ名とパスワードでアクセストークンの取得
res_login = requests.post(base + "/api/v1/security/login",
json = {
"password": user,
"provider": "db",
"refresh": True,
"username": password
}
)
access_token = res_login.json()['access_token']
print(access_token)
# CSRFトークンの取得
res_csrf = requests.get(base + "/api/v1/security/csrf_token",
headers = {
'Authorization': "Bearer {}".format(access_token)
}
)
csrf_token = res_csrf.json()['result']
print(csrf_token)
# API呼び出し用Request headers
api_headers = {
'Referer': base,
'Authorization': "Bearer {}".format(access_token),
'X-CSRFToken': csrf_token
}
# ダッシュボード一覧
res_dashboards = requests.get(base + "/api/v1/dashboard",
headers = api_headers
)
#pprint.pprint(res_dashboards.json()['result'])
for dashboard in res_dashboards.json()['result']:
print("---")
print("dashboard title: {}".format(dashboard['dashboard_title'])) # 題名
print("status: {}".format(dashboard['status'])) # ステータス
print("url: {}".format(dashboard['url'])) # URLパス部分
・実行方法
python3 list-dashboards.py
関連情報
・その他のApache Supersetの情報は、以下のまとめページを参照してください。
Apache Supersetのまとめ
0 件のコメント:
コメントを投稿