Sdílet prostřednictvím


Vytváření a správa řídicích panelů pomocí rozhraní API řídicího panelu

Rozhraní Databricks REST API obsahuje nástroje pro správu speciálně pro správu řídicích panelů AI/BI. Tento článek ukazuje, jak vytvořit nový řídicí panel AI/BI z existujícího staršího řídicího panelu. Pak ukazuje, jak spravovat řídicí panel pomocí nástrojů rozhraní API.

Poznámka

Řídicí panely AI/BI se dříve označovaly jako řídicí panely Lakeview. Rozhraní API Lakeview tento název stále uchovává.

Požadavky

Migrace řídicího panelu

Nový řídicí panel AI/BI můžete vytvořit z existujícího staršího řídicího panelu. Tento koncový bod řídicího panelu Migrate v rozhraní API Lakeview vyžaduje source_dashboard_id. Volitelně můžete zahrnout zobrazovaný název a cestu, kam chcete nový řídicí panel uložit.

Získejte starší řídicí panely

Pokud chcete získat source_dashboard_id, použijte starší rozhraní API řídicích panelů a získejte seznam všech řídicích panelů v pracovním prostoru. Každý objekt řídicího panelu v seznamu results obsahuje UUID, který můžete použít k odkazování na starší řídicí panel napříč službami rozhraní REST API Služby Azure Databricks.

Následující příklad ukazuje ukázkový požadavek a odpověď pro koncový bod Získání objektů řídicího panelu. Kvůli přehlednosti byly vynechány některé podrobnosti odpovědi. Úplný popis tohoto koncového bodu a ukázkové odpovědi najdete v tématu GET /api/2.0/preview/sql/dashboards.

UUID staršího řídicího panelu je id z nejvyšší úrovně seznamu objektů vrácených v results. U starších řídicích panelů vypadá UUID jako 4e443c27-9f61-4f2e-a12d-ea5668460bf1.

GET /api/2.0/preview/sql/dashboards

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

Migrace staršího řídicího panelu

Pomocí UUID přidruženého ke staršímu řídicímu panelu vytvořte kopii, která se automaticky převede na nový řídicí panel AI/BI. To funguje podobně jako nástroj Clone to AI/BI dashboard k dispozici v uživatelském rozhraní. Informace o provedení této operace pomocí uživatelského rozhraní Azure Databricks najdete v tématu Klonování staršího řídicího panelu na řídicí panel AI/BI.

Identifikátor UUID staršího řídicího panelu, který chcete převést, se vyžaduje v textu požadavku. Volitelně můžete zahrnout novou hodnotu display_name a parent_path, který identifikuje cestu k pracovnímu prostoru složky, kam chcete uložit převedený řídicí panel.

Odpověď obsahuje dashboard_id, UUID nového řídicího panelu. UUID pro řídicí panel AI/BI je 32místná alfanumerická hodnota, jako je 04aab30f99ea444490c10c85852f216c. Můžete jej použít k identifikaci tohoto řídicího panelu v oboru názvů Lakeview a napříč různými službami REST API v platformě Azure Databricks.

Následující příklad ukazuje ukázkový požadavek a odpověď. Viz 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"
}

Získat návrh řídicího panelu

Pomocí dashboard_id můžete načíst podrobnosti řídicího panelu z konceptu řídicího panelu. Následující ukázkový požadavek a odpověď obsahují podrobnosti o současné verzi rozpracovaného řídicího panelu v pracovním prostoru.

Pole etag sleduje nejnovější verzi řídicího panelu. Tuto možnost můžete použít k ověření verze před provedením dalších aktualizací.

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

Aktualizace řídicího panelu

Pomocí dashboard_id v předchozí odpovědi můžete aktualizovat nový řídicí panel AI/BI vytvořený touto operací. Následující příklad ukazuje ukázkový požadavek a odpověď. dashboard_id z předchozího příkladu je zahrnuta jako parametr cesty.

display_name a warehouse_id byly změněny. Aktualizovaný řídicí panel má nový název a přiřazený výchozí sklad, jak je znázorněno v odpovědi. Pole etag je volitelné. Pokud verze zadaná v etag neodpovídá aktuální verzi, aktualizace se odmítne.

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

Vytvoření řídicího panelu

K přesunu řídicího panelu mezi pracovními prostory můžete použít koncový bod Vytvořit řídicí panel v rozhraní API Lakeview. Následující příklad obsahuje ukázkový text požadavku a odpověď, která vytvoří nový řídicí panel. Klíč serialized_dashboard z předchozího příkladu obsahuje všechny potřebné podrobnosti k vytvoření konceptu duplikátu řídicího panelu.

Ukázka obsahuje novou hodnotu warehouse_id odpovídající skladu v novém pracovním prostoru. Vizte 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"
}

Jediná požadovaná vlastnost v textu požadavku je display_name. Tento nástroj může kopírovat obsah řídicího panelu nebo vytvářet nové prázdné řídicí panely.

Publikujte řídicí panel

Koncový bod Publikovat řídicí panel můžete použít k publikování řídicího panelu, nastavení přístupových údajů pro uživatele a přepsání hodnoty warehouse_id nastavené v konceptu řídicího panelu. Jako parametr cesty musíte zahrnout UUID řídicího panelu.

Text požadavku nastaví vlastnost embed_credentials na false. Ve výchozím nastavení je embed_credentials nastavena na true. Vkládání přihlašovacích údajů umožňuje uživatelům na úrovni účtu zobrazit data řídicího panelu. Viz Publikování řídicího panelu. Nová hodnota warehouse_id je vynechána, proto publikovaný řídicí panel používá stejný sklad přiřazený konceptuálnímu řídicímu panelu.

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

Publikování řídicího panelu s přihlašovacími údaji služebního účtu

Řídicí panel s vloženými přihlašovacími údaji služebního účtu můžete publikovat tak, že se při volání rozhraní API ověříte pomocí služebního účtu. Když publikujete pomocí tokenu instančního objektu, řídicí panel se publikuje s daty a výpočetními oprávněními instančního objektu a umožní uživatelům bez přímého přístupu k datům zobrazit řídicí panel.

Před publikováním musí mít instanční objekt alespoň oprávnění CAN MANAGE na řídicím panelu, SELECT oprávnění ke všem zdrojům dat používaným na řídicím panelu a oprávnění CAN USE v skladu. Podrobnosti o vytváření instančních objektů a generování tajných kódů OAuth najdete v tématu Instanční objekty a autorizace přístupu instančního objektu k Azure Databricks pomocí OAuth.

Nejprve se ověřte jako služební principál, abyste získali přístupový token.

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
}

Potom pomocí přístupového tokenu publikujte řídicí panel s přihlašovacími údaji instančního objektu:

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

Když je embed_credentials nastaveno na true, diváci řídicího panelu používají oprávnění service principalu pro přístup k datům a výpočetním prostředkům. Uživatelé potřebují jenom oprávnění pro přístup k samotnému objektu řídicího panelu. Všechny dotazy řídicího panelu se spouští pomocí identity instančního objektu, takže protokoly auditu zobrazují instanční objekt jako exekutor dotazů.

Získání publikovaného řídicího panelu

Odpověď z GET /api/2.0/lakeview/dashboards/{dashboard_id}/published se podobá odpovědi poskytnuté v předchozím příkladu. dashboard_id je zahrnuto jako parametr cesty.

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

Zneveřejnit řídicí panel

Koncept řídicího panelu zůstane zachován, když použijete rozhraní Lakeview API pro zrušení publikace řídicího panelu. Tento požadavek odstraní publikovanou verzi řídicího panelu.

Následující příklad používá dashboard_id z předchozího příkladu. Úspěšný požadavek poskytuje stavový kód 200. Neexistuje žádný text odpovědi.

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

Panel statistik odpadků

K odeslání konceptu řídicího panelu do koše použijte DELETE /api/2.0/lakeview/dashboards/{dashboard_id}. Řídicí panel je možné obnovit.

Následující příklad používá dashboard_id z předchozího příkladu. Úspěšný požadavek poskytuje stavový kód 200. Neexistuje žádný text odpovědi.

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

Poznámka

Pokud chcete provést trvalé odstranění, použijte POST /api.2.0/workspace/delete

Další kroky