Tutoriel : Gérer des tableaux de bord avec les API Espace de travail

Ce tutoriel montre comment gérer des tableaux de bord en utilisant l’API Lakeview et l’API Espace de travail. Chaque étape comprend un exemple de requête et de réponse ainsi que des explications sur la façon d’utiliser ensemble les outils et les propriétés des API. Chaque étape peut être référencée de façon indépendante. Le fait de suivre toutes les étapes dans l’ordre vous permet d’être guidé tout au long d’un workflow complet.

Remarque

Ce workflow appelle l’API Espace de travail pour récupérer un tableau de bord Lakeview en tant qu’objet d’espace de travail générique.

Prérequis

Étape 1 : Explorer le répertoire d’un espace de travail

L’API servant à lister les espaces de travail GET /api/2.0/workspace/list vous permet d’explorer la structure des répertoires de votre espace de travail. Par exemple, vous pouvez récupérer une liste de tous les fichiers et répertoires de votre espace de travail actuel.

Dans l’exemple suivant, la propriété path de la requête pointe vers un dossier nommé examples_folder, stocké dans le dossier de base d’un utilisateur. Le nom d’utilisateur est fourni dans le chemin, first.last@example.com.

La réponse montre que le dossier contient un fichier texte, un répertoire et un tableau de bord Lakeview.

GET /api/2.0/workspace/list

Query Parameters:
{
"path": "/Users/first.last@example.com/examples_folder"
}

Response:
{
  "objects": [
    {
      "object_type": "FILE",
      "path": "/Users/first.last@example.com/examples_folder/myfile.txt",
      "created_at": 1706822278103,
      "modified_at": 1706822278103,
      "object_id": 3976707922053539,
      "resource_id": "3976707922053539"
  },
  {
      "object_type": "DIRECTORY",
      "path": "/Users/first.last@example.com/examples_folder/another_folder",
      "object_id": 2514959868792596,
      "resource_id": "2514959868792596"
  },
  {
      "object_type": "DASHBOARD",
      "path": "/Users/first.last@example.com/examples_folder/mydashboard.lvdash.json",
      "object_id": 7944020886653361,
      "resource_id": "01eec14769f616949d7a44244a53ed10"
    }
  ]
}

Étape 2 : Exporter un tableau de bord

L’API servant à exporter un espace de travail GET /api/2.0/workspace/export vous permet d’exporter le contenu d’un tableau de bord sous forme de fichier. Les fichiers de tableau de bord Lakeview reflètent la version brouillon d’un tableau de bord. La réponse dans les exemples suivants montre le contenu d’une définition de tableau de bord minimale. Pour découvrir et comprendre plus de détails sur la sérialisation, essayez d’exporter certains de vos propres tableaux de bord.

Télécharger le fichier exporté

L’exemple suivant montre comment télécharger un fichier de tableau de bord en utilisant l’API.

La propriété "path" de cet exemple finit par l’extension de type de fichier lvdash.json, un tableau de bord Lakeview. Le nom de fichier, tel qu’il apparaît dans l’espace de travail, précède cette extension. Dans ce cas, il s'agit de mydashboard.

De plus, la propriété "direct_download" de cette requête a la valeur true, ce qui signifie que la réponse correspond au fichier exporté lui-même.

Remarque

La propriété "displayName", affichée dans la propriété pages de la réponse, ne reflète pas le nom visible du tableau de bord dans l’espace de travail.

GET /api/2.0/workspace/export

Query parameters:
{
  "path": "/Users/first.last@example.com/examples_folder/mydashboard.lvdash.json",
  "direct_download": true
}

Response:
{
  "pages": [
    {
      "name": "880de22a",
      "displayName": "New Page"
    }
  ]
}

Coder le fichier exporté

Le code suivant montre un exemple de réponse où la propriété "direct_download" a la valeur false. La réponse comporte du contenu sous forme de chaîne codée au format base64.

GET /api/2.0/workspace/export

Query parameters:
{
    "path": "/Users/first.last@example.com/examples_folder/mydashboard.lvdash.json",
    "direct_download": false
}

Response:
{
    "content": "IORd/DYYsCNElspwM9XBZS/i5Z9dYgW5SkLpKJs48dR5p5KkIW8OmEHU8lx6CZotiCDS9hkppQG=",
    "file_type": "lvdash.json"
}

Étape 3 : Importer un tableau de bord

Vous pouvez utiliser l’API servant à importer un espace de travail POST /api/2.0/workspace/import pour importer des brouillons de tableaux de bord dans un espace de travail. Par exemple, une fois que vous avez exporté un fichier codé, comme dans l’exemple précédent, vous pouvez importer ce tableau de bord dans un nouvel espace de travail.

Pour qu’une importation soit reconnue en tant que tableau de bord Lakeview, deux paramètres doivent être définis :

  • "format" : « AUTO » - Ce paramètre permet au système de détecter automatiquement le type de ressource.
    • "path" : doit inclure un chemin de fichier qui finit par « .lvdash.json ».

Important

Si ces paramètres ne sont pas configurés correctement, l’importation peut réussir, mais le tableau de bord est traité comme un fichier standard.

L’exemple suivant montre une requête d’importation correctement configurée.


POST /api/2.0/workspace/import

Request body parameters:
{
        "path": "/Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json",
        "content": "IORd/DYYsCNElspwM9XBZS/i5Z9dYgW5SkLpKJs48dR5p5KkIW8OmEHU8lx6CZotiCDS9hkppQG=",
        "format": "AUTO"
}

Response:
{}

Étape 4 : Remplacer à l’importation (facultatif)

Toute tentative de réémission de la même requête d’API entraîne l’erreur suivante :

{
        "error_code": "RESOURCE_ALREADY_EXISTS",
        "message": "Path (/Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json) already exists."
}

Si vous souhaitez plutôt remplacer la requête dupliquée, affectez la valeur true à la propriété "overwrite", comme dans l’exemple suivant.


POST /api/2.0/workspace/import

Request body parameters:
{
        "path": /Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json",
        "content": "IORd/DYYsCNElspwM9XBZS/i5Z9dYgW5SkLpKJs48dR5p5KkIW8OmEHU8lx6CZotiCDS9hkppQG=",
        "format": "AUTO",
        "overwrite": true
}

Response:
{}

Étape 5 : Récupérer les métadonnées

Vous pouvez récupérer les métadonnées de n’importe quel objet d’espace de travail, notamment un tableau de bord Lakeview. Consultez GET /api/2.0/workspace/get-status.

L’exemple suivant montre une requête get-status pour le tableau de bord importé à partir de l’exemple précédent. La réponse comprend des détails indiquant que le fichier a été correctement importé en tant que "DASHBOARD". Elle comprend également une propriété "resource_id" que vous pouvez utiliser en tant qu’identificateur avec l’API Lakeview.

GET /api/2.0/workspace/get-status

Query parameters:
{
        "path": "/Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json"
}

Response:
{
        "object_type": "DASHBOARD",
        "path": "/Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json",
        "object_id": 7616304051637820,
        "resource_id": "9c1fbf4ad3449be67d6cb64c8acc730b"
}

Étape 6 : Publier un tableau de bord

Les exemples précédents ont utilisé l’API Espace de travail, ce qui a permis d’utiliser des tableaux de bord Lakeview en tant qu’objets d’espace de travail génériques. L’exemple suivant utilise l’API Lakeview pour effectuer une opération de publication spécifique aux tableaux de bord Lakeview. Consultez POST /api/2.0/lakeview/dashboards/{dashboard_id}/published.

Le chemin du point de terminaison d’API comprend la propriété "resource_id" retournée dans l’exemple précédent. Dans les paramètres de requête, "embed_credentials" a la valeur true pour que les informations d’identification de l’éditeur soient incorporées dans le tableau de bord. L’éditeur, dans le cas présent, est l’utilisateur qui effectue la requête d’API autorisée. L’éditeur ne peut pas incorporer les informations d’identification d’autres utilisateurs. Consultez Publier un tableau de bord pour découvrir le fonctionnement du paramètre Incorporer des informations d’identification.

La propriété "warehouse_id" définit l’entrepôt à utiliser pour le tableau de bord publié. Si elle est spécifiée, cette propriété remplace l’entrepôt indiqué pour le brouillon de tableau de bord, le cas échéant.

POST /api/2.0/lakeview/dashboards/9c1fbf4ad3449be67d6cb64c8acc730b/published

Request parameters
{
  "embed_credentials": true,
  "warehouse_id": "1234567890ABCD12"
}

Response:
{}

Le tableau de bord publié est accessible à partir de votre navigateur, une fois que la commande a fini de s’exécuter. L’exemple suivant montre comment créer le lien vers votre tableau de bord publié.

https://<deployment-url>/dashboardsv3/<resource_id>/published

Pour créer votre lien unique :

  • Remplacez <deployment-url> par votre URL de déploiement. Ce lien est l’adresse figurant dans la barre d’adresse du navigateur quand vous êtes sur votre page d’accueil de l’espace de travail Azure Databricks.
  • Remplacez <resource_id> par la valeur de la propriété "resource_id", que vous avez identifiée dans Récupérer les métadonnées.

Étape 7 : Supprimer un tableau de bord

Pour supprimer un tableau de bord, utilisez l’API Espace de travail. Consultez POST /api/2.0/workspace/delete.

Important

Il s’agit d’une suppression définitive. À la fin de l’exécution de la commande, le tableau de bord est supprimé de manière définitive.

Dans l’exemple suivant, la requête inclut le chemin du fichier créé aux étapes précédentes.

POST /api/2.0/workspace/delete

Query parameters:
{
        "path": "/Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json"
}

Response:
{}

Étapes suivantes