En el siguiente tutorial vamos a comenzar una serie de artículos relacionados con la API REST de Microstrategy. En este primer artículo conectaremos mediante código Python al entorno de MicroStrategy con mstrio. Mstrio proporciona un acceso simple y seguro a tu entorno de MicroStrategy para realizar tareas como publicar cubos, crear dataset y muchas más acciones sobre los objetos de MicroStrategy. Alternativamente puedes utilizar la extensión MicroStrategy for Jupyter.
Especificaciones del entorno
- Microsoft Windows 10
- MicroStrategy 2020 update 2
- Mstrio 11.2
- Python v3.9
- Jupyter Notebook
Instalación mstrio
Antes de poder conectarte debes tener instalado mstrio. Puedes instalar la ultima versión abriendo la línea de comando de Windows y escribiendo la siguiente sentencia:
pip3 install mstrio-py
Si no te reconoce el comando pip3 revisa tu instalación de python. Puedes revisarlo utilizando nuestra guía de instalación.
Conectar Python con MicroStrategy
Abre Jupyter Notebook y en el menu File crea uno nuevo:
Vamos a utilizar el objeto Connection para crear la conexión. Este objeto nos va permitir especificando la url de la api rest, el usuario, contraseña y proyecto conectarnos de forma segura a MicroStrategy.
Escribe en la primera celda las siguientes lineas:
from mstrio.connection import Connection
import getpass
Lenguaje del código: JavaScript (javascript)
Crea una nueva celda y escribe los parámetros de configuración de tu entorno:
base_url = "http://localhost:8080/MicroStrategyLibrary/api"
mstr_username = "Administrator"
mstr_password = getpass.getpass("Password: ")
project_name = "MicroStrategy Tutorial"
conn = Connection(base_url, mstr_username, mstr_password, project_name)
Lenguaje del código: JavaScript (javascript)
Por medio de getpass obligaremos a quien ejecute el código que le pregunte por la contraseña del usuario. Si no deseas ser preguntado por la contraseña puedes escribir la contraseña directamente entre comillas dobles.
Si ejecutas estas dos celdas ya estas conectado a MicroStrategy desde Python:
La URL de tu API siempre sigue el formato http://tu-servidor-microstraegy.com/MicroStrategyLibrary/api. Puedes comprobar si tu REST API funciona accediendo a la URL https://tu-servidor-microstraegy.com/MicroStrategyLibrary/api-docs
A partir de este momento ya puedes gestionar tu conexión con los siguientes métodos:
- conn.connect()
- conn.renew()
- conn.close()
- conn.status()
Tipos de conexión
Mstrio utiliza por defecto el tipo Standard para conectarse pero puedes conectarte por vía LDAP con el siguiente código:
conn = Connection(base_url, mstr_username, mstr_password, project_name=project_name, login_mode=16)
Opcionalmente, el objeto Connection se puede crear pasando el parámetro identity_token, que creará una sesión delegada. El token de identidad se puede obtener enviando una solicitud al punto final de MicroStrategy REST API /auth/identityToken:
conn = Connection(base_url, identity_token=identity_token, project_name=project_name)
Certificado SSL
Por defecto el certificado se valida con cada solicitud a la API, puedes desactivarlo usando la propiedad ssl_verify:
conn = Connection(base_url, mstr_username, mstr_password, project_name = project_name, ssl_verify=False)
Lenguaje del código: PHP (php)
Si utilizas un certificado SSL tienes dos formas de configurarlo. La primera de ellas es copiando el certificado a tu ruta de trabajo y escribiendo el siguiente código:
conn = Connection(base_url, mstr_username, mstr_password, project_id=project_id, ssl_verify=True)
Lenguaje del código: PHP (php)
Otro modo de hacerlo es indicarle la ruta donde puede obtener el certificado SSL:
conn = Connection(base_url, mstr_username, mstr_password, project_id=project_id, certificate_path="C:/path/to/your/certificate.pem")
Lenguaje del código: JavaScript (javascript)