Как создать 2 Charts и Dashboard с помощью API Apache Superset

Пример создания двух графиков и дашборда с использованием API Apache Superset и токена:

import requests

# Установить параметры подключения к Superset API
superset_api_url = "http://<superset_host>:<superset_port>/superset/api/v1"
headers = {"Content-Type": "application/json", "Authorization": "Bearer <token>"}

# Создать график линейной диаграммы
line_chart_payload = {
    "slice_name": "Line Chart",
    "viz_type": "line",
    "datasource_id": 1,
    "granularity_sqla": "ds",
    "time_range": "Last year",
    "metrics": [{"label": "Total Sales", "metric_name": "sum__sales"}],
    "groupby": [{"label": "Month", "column": "month"}],
}

# Отправить POST запрос для создания графика линейной диаграммы
line_chart_response = requests.post(
    f"{superset_api_url}/slice/",
    headers=headers,
    json=line_chart_payload,
)

# Создать график столбчатой диаграммы
bar_chart_payload = {
    "slice_name": "Bar Chart",
    "viz_type": "bar",
    "datasource_id": 1,
    "granularity_sqla": "ds",
    "time_range": "Last year",
    "metrics": [{"label": "Total Sales", "metric_name": "sum__sales"}],
    "groupby": [{"label": "Month", "column": "month"}],
}

# Отправить POST запрос для создания графика столбчатой диаграммы
bar_chart_response = requests.post(
    f"{superset_api_url}/slice/",
    headers=headers,
    json=bar_chart_payload,
)

# Создать дашборд
dashboard_payload = {
    "dashboard_title": "My Dashboard",
    "position": {"col": 1, "row": 1, "size_x": 12, "size_y": 6},
    "slices": [line_chart_response.json()["id"], bar_chart_response.json()["id"]],
}

# Отправить POST запрос для создания дашборда
dashboard_response = requests.post(
    f"{superset_api_url}/dashboard/",
    headers=headers,
    json=dashboard_payload,
)

# Распечатать ответ API
print(dashboard_response.json())

В этом примере мы создаем два графика с помощью API Superset — линейную диаграмму и столбчатую диаграмму, а затем создаем дашборд, который содержит эти два графика. Для авторизации в API мы используем токен в заголовке запроса.

Обратите внимание, что в параметре «slices» мы передаем ID созданных графиков в виде списка. Эти ID используются для связывания графиков с дашбордом.

Ivan Shamaev (Admin)
Работаю с Apache Superset с 2021 года. Веду этот блог, чтобы систематизировать свои знания и поделиться ими с другими специалистами. Подписывайтесь на мой телеграм канал @apache_superset_bi
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x