Condividi tramite


Gestire i dashboard con le API dell'area di lavoro

Questa esercitazione illustra come gestire i dashboard usando l'API Lakeview e l'API Workspace. Ogni passaggio include una richiesta e una risposta di esempio e spiegazioni su come usare insieme gli strumenti e le proprietà dell'API. A ogni passaggio è possibile fare riferimento autonomamente. Seguire tutti i passaggi nell'ordine ti guida attraverso un flusso di lavoro completo.

Nota

Questo flusso di lavoro chiama l'API dell'area di lavoro per recuperare un dashboard AI/BI come oggetto generico dell'area di lavoro. I dashboard di intelligenza artificiale/BI erano precedentemente noti come dashboard di Lakeview. L'API Lakeview mantiene tale nome.

Prerequisiti

  • È necessario un token di accesso personale per connettersi all'area di lavoro. Vedi l'autenticazione tramite token di accesso personale di Azure Databricks .
  • È necessario l'ID dell'area di lavoro a cui si vuole accedere. Vedere nomi delle istanze dell'area di lavoro, URL e ID
  • Familiarità con il riferimento dell'API REST di Databricks.

Passaggio 1: Esplorare una directory dell'area di lavoro

L'API Elenco delle aree di lavoro GET /api/2.0/workspace/list consente di esplorare la struttura delle directory dell'area di lavoro. Ad esempio, è possibile recuperare un elenco di tutti i file e le directory nell'area di lavoro corrente.

Nell'esempio seguente la proprietà path nella richiesta punta a una cartella denominata examples_folder archiviata nella home folder di un utente. Il nome utente viene fornito nel percorso first.last@example.com.

La risposta mostra che la cartella contiene un file di testo, una directory e un dashboard di intelligenza artificiale/BI.

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

Passaggio 2: Esportare un dashboard

L'API di esportazione dell'area di lavoro GET /api/2.0/workspace/export consente di esportare il contenuto di un dashboard come file. I file del dashboard di intelligenza artificiale/BI riflettono la versione bozza di un dashboard. La risposta negli esempi seguenti mostra il contenuto di una definizione minima del dashboard. Per esplorare e comprendere altri dettagli di serializzazione, prova a esportare alcuni dei tuoi dashboard.

Scaricare il file esportato

L'esempio seguente illustra come scaricare un file del dashboard usando l'API.

La proprietà "path" in questo esempio termina con l'estensione del tipo di file lvdash.json, un dashboard di intelligenza artificiale/BI. Il nome file, come appare nell'area di lavoro, precede tale estensione. In questo caso, è mydashboard.

Inoltre, la proprietà "direct_download" per questa richiesta è impostata su true in modo che la risposta sia il file esportato stesso e la proprietà "format" sia impostata su "AUTO".

Nota

La proprietà "displayName", visualizzata nella proprietà pages della risposta, non riflette il nome visibile del dashboard nell'area di lavoro.

GET /api/2.0/workspace/export

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

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

Codificare il file esportato

Il codice seguente mostra una risposta di esempio in cui "direct_download" proprietà è impostata su false. La risposta contiene contenuto come stringa con codifica 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"
}

Passaggio 3: Importare un dashboard

È possibile usare l'API di importazione dell'area di lavoro POST /api/2.0/workspace/import per importare i dashboard in bozza in un'area di lavoro. Ad esempio, dopo aver esportato un file codificato, come nell'esempio precedente, è possibile importare tale dashboard in una nuova area di lavoro.

Affinché un'importazione venga riconosciuta come dashboard di intelligenza artificiale/BI, è necessario impostare due parametri:

  • "format": "AUTO" - questa impostazione consentirà al sistema di rilevare automaticamente il tipo di asset.
  • "path": deve includere un percorso di file che termina con ".lvdash.json".

Importante

Se queste impostazioni non sono configurate correttamente, l'importazione potrebbe avere esito positivo, ma il dashboard verrà considerato come un file normale.

L'esempio seguente mostra una richiesta di importazione configurata correttamente.


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:
{}

Passaggio 4: Sovrascrittura all'importazione (facoltativo)

Il tentativo di eseguire nuovamente la stessa richiesta API genera l'errore seguente:

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

Se invece si desidera sovrascrivere la richiesta duplicata, impostare la proprietà "overwrite" su true come nell'esempio seguente.


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:
{}

Passaggio 5: Recuperare i metadati

È possibile recuperare i metadati per qualsiasi oggetto dell'area di lavoro, incluso un dashboard di intelligenza artificiale/BI. Vedere GET /api/2.0/workspace/get-status.

L'esempio seguente mostra una richiesta di get-status per il dashboard importato dall'esempio precedente. La risposta include dettagli che confermano che il file è stato importato correttamente come "DASHBOARD". Inoltre, è costituita da una proprietà "resource_id" che è possibile usare come identificatore con 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"
}

Passaggio 6: Pubblicare un dashboard

Negli esempi precedenti è stata usata l'API Workspace, abilitando l'uso di dashboard di intelligenza artificiale/BI come oggetti di area di lavoro generici. L'esempio seguente usa l'API Lakeview per eseguire un'operazione di pubblicazione specifica per i dashboard di intelligenza artificiale/BI. Vedere POST /api/2.0/lakeview/dashboards/{dashboard_id}/published.

Il percorso dell'endpoint API include la proprietà "resource_id" restituita nell'esempio precedente. Nei parametri della richiesta "embed_credentials" è impostato su true in modo che le credenziali dell'editore siano incorporate nel dashboard. L'editore, in questo caso, è l'utente che effettua la richiesta API autorizzata. Il pubblicatore non può incorporare le credenziali di utenti diversi. Consulta Pubblica un dashboard per sapere come funziona l'impostazione delle credenziali di incorporamento .

L'attributo "warehouse_id" definisce il magazzino destinato al dashboard pubblicato. Se viene specificato, questa proprietà sovrascrive il magazzino specificato per la bozza del dashboard, se presente.

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

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

Response:
{}

Al termine del comando, è possibile accedere al dashboard pubblicato tramite il browser. L'esempio seguente illustra come creare il collegamento al dashboard pubblicato.

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

Per costruire il tuo link univoco:

  • Sostituire <deployment-url> con l'URL di distribuzione. Questo collegamento è l'indirizzo nella barra degli indirizzi del browser quando ci si trova nella home page dell'area di lavoro di Azure Databricks.
  • Sostituire <resource_id> con il valore della proprietà "resource_id" identificata in recuperare i metadati.

Passaggio 7: Eliminare un dashboard

Per eliminare un dashboard, usare l'API dell'area di lavoro. Vedere POST /api/2.0/workspace/delete.

Importante

Si tratta di un'eliminazione difficile. Al termine del comando, il dashboard viene eliminato definitivamente.

Nell'esempio seguente la richiesta include il percorso del file creato nei passaggi precedenti.

POST /api/2.0/workspace/delete

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

Response:
{}

Passaggi successivi