Condividi tramite


Usare le API del dashboard per creare e gestire dashboard

L'API REST di Databricks include strumenti di gestione specifici per la gestione dei dashboard di intelligenza artificiale/BI. Questo articolo illustra come creare un nuovo dashboard di intelligenza artificiale/BI da un dashboard legacy esistente. Viene quindi illustrato come usare gli strumenti api per gestire il dashboard.

Nota

I dashboard di intelligenza artificiale/BI erano precedentemente noti come dashboard di Lakeview. L'API Lakeview mantiene ancora il nome.

Prerequisiti

Eseguire la migrazione di un dashboard

È possibile creare un nuovo dashboard di intelligenza artificiale/BI da un dashboard legacy esistente. L'endpoint Migrate dashboard nell'API di Lakeview richiede il source_dashboard_id. Facoltativamente, è possibile includere un nome visualizzato e un percorso in cui archiviare il nuovo dashboard.

Ottieni le dashboard legacy

Per ottenere il source_dashboard_id, usare l'API legacy dei dashboard per ricevere un elenco di tutti i dashboard nell'area di lavoro. Ogni oggetto dashboard nell'elenco results include un UUID che è possibile usare per fare riferimento al dashboard legacy nei servizi API REST di Azure Databricks.

L'esempio seguente mostra una richiesta e una risposta di esempio per l'endpoint di Recuperare gli oggetti del dashboard. Alcuni dettagli della risposta sono stati omessi per maggiore chiarezza. Per una descrizione completa dell'endpoint e della risposta di esempio, vedere GET /api/workspace/dashboards/list.

L'UUID di un dashboard legacy è il id dal livello più alto della lista di oggetti restituiti in results. Per i dashboard legacy, l'UUID è simile a 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",
      ...
    }
  ]
}

Eseguire la migrazione del dashboard legacy

Usare l'UUID associato al dashboard legacy per creare una copia che viene convertita automaticamente in un nuovo dashboard di intelligenza artificiale/BI. Questa funzionalità opera in modo simile allo strumento Clone to AI/BI dashboard disponibile nell'interfaccia utente. Consulta come clonare un dashboard legacy in un dashboard per AI/BI per sapere come effettuare questa operazione usando l'interfaccia di Azure Databricks.

L'UUID del dashboard legacy da convertire è necessario nel corpo della richiesta. Facoltativamente, è possibile includere un nuovo valore display_name e un parent_path che identifica il percorso dell'area di lavoro della cartella in cui si desidera archiviare il dashboard convertito.

La risposta include un dashboard_id, l'UUID per il nuovo dashboard. L'UUID per un dashboard di intelligenza artificiale/BI è un valore alfanumerico di 32 cifre, ad esempio 04aab30f99ea444490c10c85852f216c. È possibile usarlo per identificare questo dashboard nello spazio dei nomi Lakeview e in diversi servizi API REST di Azure Databricks.

L'esempio seguente mostra una richiesta e una risposta di esempio. Vedere 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"
}

Ottieni una bozza di dashboard

È possibile usare il dashboard_id per ottenere i dettagli da una bozza di dashboard. La seguente richiesta di esempio e la relativa risposta includono i dettagli per la versione corrente della bozza del dashboard nell'area di lavoro.

Il campo etag tiene traccia della versione più recente del dashboard. È possibile usarlo per verificare la versione prima di apportare aggiornamenti aggiuntivi.

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

Aggiornare un dashboard

È possibile usare il dashboard_id nella risposta precedente per aggiornare il nuovo dashboard di intelligenza artificiale/BI creato con tale operazione. L'esempio seguente mostra una richiesta e una risposta di esempio. Il dashboard_id dell'esempio precedente viene incluso come parametro path.

Le display_name e le warehouse_id sono state modificate. Il dashboard aggiornato ha un nuovo nome e il warehouse predefinito assegnato, come illustrato nella risposta. Il campo etag è facoltativo. Se la versione specificata nel etag non corrisponde alla versione corrente, l'aggiornamento viene rifiutato.

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

Creare un dashboard

È possibile utilizzare l'endpoint Creare dashboard nell'API Lakeview per spostare il dashboard tra le aree di lavoro. L'esempio seguente include un corpo e una risposta di richiesta di esempio che crea un nuovo dashboard. La chiave serialized_dashboard dell'esempio precedente contiene tutti i dettagli necessari per creare un dashboard bozza duplicato.

L'esempio include un nuovo valore warehouse_id corrispondente a un magazzino nella nuova area di lavoro. Vedere 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"
}

L'unica proprietà obbligatoria nel corpo della richiesta è un display_name. Questo strumento può copiare il contenuto del dashboard o creare nuovi dashboard vuoti.

Pubblicare un dashboard

È possibile usare l'endpoint della dashboard di pubblicazione per pubblicare un dashboard, impostare le credenziali per gli spettatori ed eseguire l'override dell'impostazione warehouse_id nel dashboard bozza. È necessario includere l'UUID del dashboard come parametro di percorso.

Il corpo della richiesta imposta la proprietà embed_credentials su false. Per impostazione predefinita, embed_credentials è impostato su true. Le credenziali di incorporamento consentono agli utenti a livello di account di visualizzare i dati del dashboard. Consultare Pubblicare un dashboard. Viene omesso un nuovo valore warehouse_id, quindi il dashboard pubblicato usa lo stesso warehouse assegnato al dashboard bozza.

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

Ottenere il dashboard pubblicato

La risposta da GET /api/2.0/lakeview/dashboards/{dashboard_id}/published è simile alla risposta fornita nell'esempio precedente. Il dashboard_id viene incluso come parametro del percorso.

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

Annullare la pubblicazione di un dashboard

Il dashboard in bozza viene conservato quando si utilizza l'API Lakeview per annullare la pubblicazione di un dashboard. Questa richiesta elimina la versione pubblicata del dashboard.

Nell'esempio seguente viene utilizzata la dashboard_id dell'esempio precedente. Una richiesta con esito positivo restituisce un codice di stato 200. Non esiste alcun contenuto della risposta.

DELETE /api/2.0/lakeview/dashboards/1e23fd84b6ac7894e2b053907dca9b2f/published

Dashboard cestino

Utilizzare DELETE /api/2.0/lakeview/dashboards/{dashboard_id} per inviare una bozza di dashboard al cestino. Il pannello di controllo può comunque essere ripristinato.

Nell'esempio seguente viene utilizzata la dashboard_id dell'esempio precedente. Una richiesta con esito positivo restituisce un codice di stato 200. Non esiste alcun contenuto della risposta.

DELETE /api/2.0/lakeview/dashboards/1e23fd84b6ac7894e2b053907dca9b2f

Nota

Per eseguire un'eliminazione permanente, usare POST /api.2.0/workspace/delete

Passaggi successivi