Share via


Dashboard-API's gebruiken om dashboards te maken en te beheren

De Databricks REST API bevat beheerhulpprogramma's die specifiek zijn bedoeld voor het beheren van AI/BI-dashboards. Op deze pagina ziet u hoe u een nieuw AI/BI-dashboard maakt op basis van een bestaand verouderd dashboard. Vervolgens ziet u hoe u API-hulpprogramma's gebruikt om het dashboard te beheren. Zie Author dashboards om deze taken uit te voeren via de gebruikersinterface.

Notitie

AI-/BI-dashboards werden voorheen Lakeview-dashboards genoemd. De Lakeview-API behoudt die naam nog steeds.

Voorwaarden

Een conceptdashboard verkrijgen

U kunt de dashboard_id gebruiken om dashboardgegevens op te halen uit een conceptdashboard. De volgende voorbeeldaanvraag en het volgende antwoord bevatten details voor de huidige versie van het conceptdashboard in de werkruimte.

In het veld etag wordt de nieuwste versie van het dashboard bijgehouden. U kunt deze gebruiken om de versie te controleren voordat u aanvullende updates aanbrengt.

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

Een dashboard bijwerken

U kunt de dashboard_id in het vorige antwoord gebruiken om het nieuwe AI/BI-dashboard dat met die bewerking is gemaakt, bij te werken. In het volgende voorbeeld ziet u een voorbeeld van een aanvraag en antwoord. De dashboard_id uit het vorige voorbeeld is opgenomen als padparameter.

De display_name en warehouse_id zijn gewijzigd. Het bijgewerkte dashboard heeft een nieuwe naam en een toegewezen standaardwarehouse, zoals wordt weergegeven in het antwoord. Het etag veld is optioneel. Als de versie die is opgegeven in de etag niet overeenkomt met de huidige versie, wordt de update geweigerd.

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

Een dashboard maken

U kunt het Create-dashboard-eindpunt in de Lakeview-API gebruiken om uw dashboard tussen werkruimtes te verplaatsen. Het volgende voorbeeld bevat een voorbeeld van de aanvraagtekst en het antwoord waarmee een nieuw dashboard wordt gemaakt. De serialized_dashboard sleutel uit het vorige voorbeeld bevat alle benodigde details om een dubbel conceptdashboard te maken.

Het voorbeeld bevat een nieuwe warehouse_id waarde die overeenkomt met een magazijn in de nieuwe werkruimte. Zie 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"
}

De enige vereiste eigenschap in de aanvraagtekst is een display_name. Met dit hulpprogramma kunt u dashboardinhoud kopiƫren of nieuwe, lege dashboards maken.

Een dashboard publiceren

U kunt het Publish dashboard eindpunt gebruiken om een dashboard te publiceren, inloggegevens in te stellen voor kijkers en de instelling warehouse_id in het conceptdashboard te overschrijven. U moet de UUID van het dashboard opnemen als padparameter.

De hoofdtekst van de aanvraag stelt de eigenschap embed_credentials in op false. Standaard is embed_credentials ingesteld op true. Door referenties in te sluiten, kunnen gebruikers op accountniveau dashboardgegevens bekijken. Zie Een dashboard publiceren. Er wordt een nieuwe warehouse_id waarde weggelaten, dus het gepubliceerde dashboard maakt gebruik van hetzelfde magazijn dat is toegewezen aan het conceptdashboard.

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

Een dashboard publiceren met service-principal-referenties

U kunt een dashboard publiceren met embedded service principal-gegevens door als een service principal te authenticeren bij het doen van de API-aanroep. Wanneer u publiceert met behulp van het token van een service-principal, wordt het dashboard gepubliceerd met de gegevens en rekenmachtigingen van die service-principal, zodat gebruikers zonder directe gegevenstoegang het dashboard kunnen bekijken.

Voordat de service-principal wordt gepubliceerd, moet hij ten minste KAN BEHEREN-machtigingen hebben op het dashboard, SELECT bevoegdheden op alle gegevensbronnen die in het dashboard worden gebruikt en KAN GEBRUIKEN-machtigingen voor het magazijn. Zie Service-principals en toegang tot Azure Databricks autoriseren met OAuth voor meer informatie over het maken van service-principals en het genereren van OAuth-geheimen.

Authenticeer eerst als de service-principal om een toegangstoken te verkrijgen.

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
}

Gebruik vervolgens het toegangstoken om het dashboard te publiceren met de referenties van de service-principal:

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

Wanneer embed_credentials is ingesteld op true, gebruiken kijkers van het dashboard de machtigingen van de service-principal om toegang te krijgen tot gegevens en rekenbronnen. Gebruikers hebben alleen machtigingen nodig om toegang te krijgen tot het dashboardobject zelf. Alle dashboardquery's worden uitgevoerd met behulp van de identiteit van de service-principal, dus in auditlogboeken wordt de service-principal weergegeven als de queryuitvoerer.

Gepubliceerd dashboard ophalen

Het antwoord van GET /api/2.0/lakeview/dashboards/{dashboard_id}/gepubliceerde is vergelijkbaar met het antwoord in het vorige voorbeeld. De dashboard_id is opgenomen als padparameter.

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

Publicatie van een dashboard ongedaan maken

Het conceptdashboard blijft behouden wanneer u de Lakeview-API gebruikt om de publicatie van een dashboard ongedaan te maken. Met deze aanvraag wordt de gepubliceerde versie van het dashboard verwijderd.

In het volgende voorbeeld wordt de dashboard_id uit het vorige voorbeeld gebruikt. Een geslaagde aanvraag levert een 200 statuscode op. Er is geen antwoordlichaam.

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

Prullenbakoverzicht

Gebruik DELETE /api/2.0/lakeview/dashboards/{dashboard_id} om een conceptdashboard naar de prullenbak te verzenden. Het dashboard kan nog steeds worden hersteld.

In het volgende voorbeeld wordt de dashboard_id uit het vorige voorbeeld gebruikt. Een geslaagde aanvraag levert een 200 statuscode op. Er is geen antwoordlichaam.

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

Notitie

Als u een permanent verwijderen wilt uitvoeren, gebruikt u POST /api.2.0/workspace/delete

Volgende stappen