Добрый день
Столкнулся со следующей задачей.
Заказчик пожелал работать в jupyter notebook, с данными из куба Luxms.
notebook запустили на том же сервере что и luxms. Добавили его как external дэшборд.
Далее возник вопрос, как получить данные?
Первое что приходит в голову, это воспользоваться DB API
идем по ссылке
куб глобальный
В других дэшбордах с ним работают.
набрасываем скрипт в python
import requests
base_url = 'http://<мой хост>'
s = requests.Session()
header = {'Content-type': 'application/x-www-form-urlencoded'}
data={'username':'<логин>','password':'<пароль>'}
x = s.post(base_url + '/api/auth/login', data=data, headers=header)
s.headers.update({"Content-Type": "application/json"})
data = {"with":"greenplum.kasudr_zgo8","columns":["emm_num","lkm","max_dtop_t","min_dtop_t","os","pr_chet","pr_work","priz_sernum"],"limit":64}
response = s.post(base_url + '/api/v3/koob/data', data=data)
print(response.request.headers)
print(response.status_code)
print(response.text)
В принтах получаю следующий ответ.
{‘User-Agent’: ‘python-requests/2.26.0’, ‘Accept-Encoding’: ‘gzip, deflate’, ‘Accept’: ‘/’, ‘Connection’: ‘keep-alive’, ‘Content-Type’: ‘application/json’, ‘Cookie’: ‘LuxmsBI-User-Session=2581b3d8-2ff9-4636-af40-aee9fe2564ed’, ‘Content-Length’: ‘164’}
500
<html>
<head><title>500 Internal Server Error</title></head>
<body>
<center><h1>500 Internal Server Error</h1></center>
<hr><center>nginx</center>
</body>
</html>
т.е.Успешное прохождение авторизации и затем ошибка 500. Делал сравнение с тем что генерирует клиент luxms в браузере во вкладке network. Каких-то существенных различий не уловил.
В чем может быть ошибка? Сделано все как в примерах в документации. Что-то упускаю?
И еще может есть какой-то еще способ получить данные в юпитере?