Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
L’API REST Databricks inclut des outils de gestion spécifiquement pour la gestion des tableaux de bord IA/BI. Cette page montre comment créer un tableau de bord IA/BI à partir d’un tableau de bord hérité existant. Ensuite, il montre comment utiliser les outils d’API pour gérer le tableau de bord. Pour effectuer ces tâches à l’aide de l’interface utilisateur, consultez les tableaux de bord Author.
Remarque
Les tableaux de bord IA/BI étaient précédemment appelés tableaux de bord Lakeview. L’API Lakeview conserve toujours ce nom.
Prérequis
- Configurez l’authentification pour accéder aux ressources Azure Databricks. Pour en savoir plus sur les options d’authentification et obtenir des instructions de configuration, consultez Autoriser l’accès aux ressources Azure Databricks.
- Vous avez besoin des URL d’espace de travail auxquelles vous souhaitez accéder. Consultez Noms d’instances, URL et ID d’espaces de travail.
- Connaissance de la référence de l’API REST Databricks.
Obtenir un tableau de bord provisoire
Vous pouvez utiliser la dashboard_id pour extraire les détails du tableau de bord à partir d’un brouillon de tableau de bord. L’exemple de demande et de réponse suivant inclut des détails sur la version actuelle du tableau de bord brouillon dans l’espace de travail.
Le champ etag suit la dernière version du tableau de bord. Vous pouvez l’utiliser pour vérifier la version avant d’effectuer des mises à jour supplémentaires.
GET /api/2.0/lakeview/dashboards/04aab30f99ea444490c10c85852f216c
Response:
{
"dashboard_id": "04aab30f99ea444490c10c85852f216c",
"display_name": "Monthly Traffic Report",
"path": "/path/to/dir/Monthly Traffic Report.lvdash.json",
"create_time": "2019-08-24T14:15:22Z",
"update_time": "2019-08-24T14:15:22Z",
"warehouse_id": "47bb1c472649e711",
"etag": "80611980",
"serialized_dashboard": "{\"pages\":[{\"name\":\"b532570b\",\"displayName\":\"New Page\"}]}",
"lifecycle_state": "ACTIVE",
"parent_path": "/path/to/dir"
}
Mettre à jour un tableau de bord
Vous pouvez utiliser l'dashboard_id dans la réponse précédente pour mettre à jour le nouveau tableau de bord IA/BI créé avec cette opération. L’exemple suivant montre un exemple de demande et de réponse. La dashboard_id de l’exemple précédent est incluse en tant que paramètre d'URL.
Les display_name et les warehouse_id ont été modifiés. Le tableau de bord mis à jour a un nouveau nom et un entrepôt par défaut attribué, comme indiqué dans la réponse. Le champ etag est facultatif. Si la version spécifiée dans le etag ne correspond pas à la version actuelle, la mise à jour est rejetée.
PATCH /api/2.0/lakeview/dashboards/04aab30f99ea444490c10c85852f216c
Request body:
{
"display_name": "Monthly Traffic Report 2",
"warehouse_id": "c03a4f8a7162bc9f",
"etag": "80611980"
}
Response:
{
"dashboard_id": "04aab30f99ea444490c10c85852f216c",
"display_name": "Monthly Traffic Report 2",
"path": "/path/to/dir/Monthly Traffic Report 2.lvdash.json",
"create_time": "2019-08-24T14:15:22Z",
"update_time": "2019-08-24T14:15:22Z",
"warehouse_id": "c03a4f8a7162bc9f",
"etag": "80611981",
"serialized_dashboard": "{\"pages\":[{\"name\":\"b532570b\",\"displayName\":\"New Page\"}]}",
"lifecycle_state": "ACTIVE",
"parent_path": "/path/to/dir"
}
Créer un tableau de bord
Vous pouvez utiliser le point de terminaison Créer un tableau de bord dans l’API Lakeview pour déplacer votre tableau de bord entre les espaces de travail. L’exemple suivant inclut un exemple de corps de requête et de réponse qui crée un tableau de bord. La clé serialized_dashboard de l’exemple précédent contient tous les détails nécessaires pour créer un tableau de bord brouillon dupliqué.
L’exemple inclut une nouvelle valeur de warehouse_id correspondant à un entrepôt dans le nouvel espace de travail. Voir POST /api/2.0/lakeview/dashboards.
POST /api/2.0/lakeview/dashboards
Request body:
{
"display_name": "Monthly Traffic Report 2",
"warehouse_id": "5e2f98ab3476cfd0",
"serialized_dashboard": "{\"pages\":[{\"name\":\"b532570b\",\"displayName\":\"New Page\"}]}",
"parent_path": "/path/to/dir"
}
Response:
{
"dashboard_id": "1e23fd84b6ac7894e2b053907dca9b2f",
"display_name": "Monthly Traffic Report 2",
"path": "/path/to/dir/Monthly Traffic Report 2.lvdash.json",
"create_time": "2019-08-24T14:15:22Z",
"update_time": "2019-08-24T14:15:22Z",
"warehouse_id": "5e2f98ab3476cfd0",
"etag": "14350695",
"serialized_dashboard": "{\"pages\":[{\"name\":\"b532570b\",\"displayName\":\"New Page\"}]}",
"lifecycle_state": "ACTIVE",
"parent_path": "/path/to/dir"
}
La seule propriété requise dans le corps de la demande est display_name. Cet outil peut copier le contenu du tableau de bord ou créer des tableaux de bord vides.
Publier un tableau de bord
Vous pouvez utiliser le point de terminaison Publier un tableau de bord pour publier un tableau de bord, définir des informations d’identification pour les visionneurs et remplacer le warehouse_id défini dans le brouillon de tableau de bord. Vous devez inclure l’UUID du tableau de bord comme paramètre de chemin d’accès.
Le corps de la demande définit la propriété embed_credentials sur false. Par défaut, embed_credentials est défini sur true. L’incorporation d’informations d’identification permet aux utilisateurs au niveau du compte d’afficher les données du tableau de bord. Consultez Publier un tableau de bord. Une nouvelle valeur de warehouse_id est omise. Par conséquent, le tableau de bord publié utilise le même entrepôt affecté au tableau de bord brouillon.
POST /api/2.0/lakeview/dashboards/1e23fd84b6ac7894e2b053907dca9b2f/published
Request body:
{
"embed_credentials": false
}
Response:
{
"display_name": "Monthly Traffic Report 2",
"warehouse_id": "5e2f98ab3476cfd0",
"embed_credentials": false,
"revision_create_time": "2019-08-24T14:15:22Z"
}
Publier un tableau de bord avec les informations d’identification du principal de service
Vous pouvez publier un tableau de bord avec les informations d’identification du principal de service incorporées en s’authentifiant en tant que principal de service lors de l’appel d’API. Lorsque vous publiez à l’aide du jeton d’un principal de service, le tableau de bord est publié avec les données et les autorisations de calcul de ce principal de service, ce qui permet aux utilisateurs sans accès direct aux données d’afficher le tableau de bord.
Avant la publication, le principal de service doit disposer au moins des autorisations CAN MANAGE sur le tableau de bord, SELECT des privilèges sur toutes les sources de données utilisées dans le tableau de bord et des autorisations CAN USE sur l’entrepôt. Pour plus d’informations sur la création de principaux de service et la génération de secrets OAuth, consultez Les principaux de service et autoriser l’accès au principal de service à Azure Databricks avec OAuth.
Tout d’abord, authentifiez-vous en tant que principal de service pour obtenir un jeton d’accès :
POST https://<databricks-instance>/oidc/v1/token
Request body (form-urlencoded):
grant_type=client_credentials&scope=all-apis
Authorization header:
Basic <base64-encoded-client-id:client-secret>
Response:
{
"access_token": "eyJraWQiOiJkYTA4ZTVjZ...",
"token_type": "Bearer",
"expires_in": 3600
}
Ensuite, utilisez le jeton d’accès pour publier le tableau de bord avec les informations d’identification du principal de service :
POST /api/2.0/lakeview/dashboards/1e23fd84b6ac7894e2b053907dca9b2f/published
Authorization header:
Bearer <service-principal-access-token>
Request body:
{
"embed_credentials": true,
"warehouse_id": "5e2f98ab3476cfd0"
}
Response:
{
"display_name": "Monthly Traffic Report 2",
"warehouse_id": "5e2f98ab3476cfd0",
"embed_credentials": true,
"revision_create_time": "2019-08-24T14:15:22Z"
}
Lorsque embed_credentials est défini sur true, les utilisateurs du tableau de bord utilisent les autorisations du principal de service pour accéder aux données et aux ressources de calcul. Les utilisateurs ont uniquement besoin d’autorisations pour accéder à l’objet de tableau de bord lui-même. Toutes les requêtes de tableau de bord s’exécutent à l’aide de l’identité du principal de service, de sorte que les journaux d’audit affichent le principal de service en tant qu’exécuteur de requête.
Obtenir le tableau de bord publié
La réponse de GET /api/2.0/lakeview/dashboards/{dashboard_id}/publié est similaire à la réponse fournie dans l’exemple précédent. La dashboard_id est incluse en tant que paramètre de chemin.
GET /api/2.0/lakeview/dashboards/1e23fd84b6ac7894e2b053907dca9b2f/published
Response:
{
"display_name": "Monthly Traffic Report 2",
"warehouse_id": "5e2f98ab3476cfd0",
"embed_credentials": false,
"revision_create_time": "2019-08-24T14:15:22Z"
}
Annuler la publication d’un tableau de bord
Le tableau de bord brouillon est conservé lorsque vous utilisez l’API Lakeview pour annuler la publication d’un tableau de bord. Cette demande supprime la version publiée du tableau de bord.
L’exemple suivant utilise les dashboard_id de l’exemple précédent. Une requête réussie génère un code d’état 200. Il n’y a pas de corps de réponse.
DELETE /api/2.0/lakeview/dashboards/1e23fd84b6ac7894e2b053907dca9b2f/published
Mettre le tableau de bord à la corbeille
Utilisez DELETE /api/2.0/lakeview/dashboards/{dashboard_id} pour envoyer un brouillon de tableau de bord à la corbeille. Le tableau de bord peut toujours être récupéré.
L’exemple suivant utilise les dashboard_id de l’exemple précédent. Une requête réussie génère un code d’état 200. Il n’y a pas de corps de réponse.
DELETE /api/2.0/lakeview/dashboards/1e23fd84b6ac7894e2b053907dca9b2f
Remarque
Pour effectuer une suppression permanente, utilisez POST /api.2.0/workspace/delete
Étapes suivantes
- Pour en savoir plus sur les tableaux de bord, consultez Tableaux de bord.
- Consultez la Référence sur l’API REST Databricks pour en savoir plus sur l’API REST.