Partager via


Utiliser les API de tableau de bord pour créer et gérer des tableaux de bord

L’API REST Databricks inclut des outils de gestion spécifiquement pour la gestion des tableaux de bord IA/BI. Cet article 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.

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

Migrer un tableau de bord

Vous pouvez créer un tableau de bord IA/BI à partir d’un tableau de bord hérité existant. Le point de terminaison Migrer un tableau de bord dans l’API Lakeview nécessite le source_dashboard_id. Optionnellement, vous pouvez inclure un nom d'affichage et un chemin d’accès où vous voulez enregistrer le nouveau tableau de bord.

Obtenir des tableaux de bord anciens

Pour obtenir le source_dashboard_id, utilisez l’API des tableaux de bord classiques pour obtenir la liste de tous les tableaux de bord de votre espace de travail. Chaque objet de tableau de bord de la liste results inclut un UUID que vous pouvez utiliser pour faire référence au tableau de bord hérité dans les services d’API REST Azure Databricks.

L’exemple suivant présente une requête et une réponse pour l'endpoint Obtenir des objets de tableau de bord. Certains détails de réponse ont été omis pour plus de clarté. Consultez GET /api/workspace/dashboards/list pour obtenir une description complète de ce point de terminaison et de cet exemple de réponse.

L’UUID d’un tableau de bord hérité est le id du niveau supérieur de la liste d’objets retournés dans results. Pour les tableaux de bord obsolètes, l’UUID ressemble à 4e443c27-9f61-4f2e-a12d-ea5668460bf1.

GET /api/workspace/dashboards/list

Query Parameters:

{
"page_size": <optional>,
"page": <optional>,
"order": <optional>
"q": <optional>
}

Response:

{
  "count": 1,
  "page": 1,
  "page_size": 25,
  "results": [
    {
      "id": "4e443c27-9f61-4f2e-a12d-ea5668460bf1",
      "slug": "sales-dashboard",
      "parent": "folders/2025532471912059",
      ...
    }
  ]
}

Migrer un tableau de bord hérité

Utilisez l’UUID associé au tableau de bord hérité pour créer une copie qui est automatiquement convertie en tableau de bord IA/BI. Cela fonctionne comme l’outil Cloner vers le tableau de bord AI/BI disponible dans l’IU. Consultez Cloner un tableau de bord hérité vers un tableau de bord IA/BI pour savoir comment effectuer cette opération à l’aide de l’interface utilisateur Azure Databricks.

L’UUID du tableau de bord hérité que vous souhaitez convertir est requis dans le corps de la requête. Si vous le souhaitez, vous pouvez inclure une nouvelle valeur de display_name et un parent_path qui identifie le chemin d’accès de l’espace de travail du dossier dans lequel vous souhaitez que le tableau de bord converti soit stocké.

La réponse inclut un dashboard_id, l’UUID pour le nouveau tableau de bord. L’UUID pour un tableau de bord IA/BI est une valeur alphanumérique à 32 chiffres comme 04aab30f99ea444490c10c85852f216c. Vous pouvez l’utiliser pour identifier ce tableau de bord dans l’espace de noms Lakeview et dans différents services d’API REST Azure Databricks.

L’exemple suivant montre un exemple de demande et de réponse. Consultez POST /api/2.0/lakeview/dashboards/migrate.

POST /api/2.0/lakeview/dashboards/migrate

Request body parameters:
{
  "source_dashboard_id": "4e443c27-9f61-4f2e-a12d-ea5668460bf1",
  "display_name": "Monthly Traffic Report",
  "parent_path": "/path/to/dir"
}

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"
}

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/workspace/dashboards/list/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"
}

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