使用儀錶板 API 來建立和管理儀錶板
Databricks REST API 包含特別用來管理 AI/BI 儀錶板的管理工具。 本文示範如何從現有的舊版儀錶板建立新的 AI/BI 儀錶板。 然後,它會示範如何使用 API 工具來管理儀錶板。
注意
AI/BI 儀錶板先前稱為 Lakeview 儀錶板。 Lakeview API 仍會保留該名稱。
先決條件
- 您需要個人存取令牌才能與工作區連線。 請參閱 Azure Databricks 個人存取權杖驗證。
- 您需要您想要存取的工作區 URL。 請參閱 工作區實例名稱、URL 和標識碼
- 熟悉 Databricks REST API 文件。
遷移儀表板
您可以從現有的舊版儀錶板建立新的 AI/BI 儀錶板。 Lakeview API 中的 Migrate 儀表板 端點需要 source_dashboard_id
。 您可以選擇性地包含顯示名稱和您要儲存新儀錶板的路徑。
獲取 Databricks SQL 儀錶板
若要取得 source_dashboard_id
,請使用 Databricks SQL 儀錶板 API 來取得工作區中所有儀錶板的清單。
results
清單中的每個儀錶板物件都包含一個 UUID,您可以利用它在 Azure Databricks REST API 服務中參照到過去的儀錶板。
下列範例示範 取得儀錶板物件 端點的範例要求和回應。 為了清楚起見,已省略一些回應詳細數據。 如需此端點和範例回應的完整描述,請參閱 GET /api/workspace/dashboards/list。
舊版儀錶板的 UUID 是從 id
中傳回之物件清單的最上層 results
。 針對舊版儀錶板,UUID(唯一識別碼)看起來像 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",
...
}
]
}
移轉舊版儀錶板
使用與舊版儀錶板相關聯的 UUID,來建立一個自動轉換為新 AI/BI 儀錶板的副本。 這個工具的運作方式類似於UI中可用的 複製到 AI/BI 儀表板 工具。 請參閱 將舊版儀錶板複製到 AI/BI 儀錶板 瞭解如何使用 Azure Databricks UI 執行這項作業。
在要求的本文中需要提供您想要轉換的舊版儀錶板的 UUID。 您可以選擇性地包含新的 display_name
值和 parent_path
,以識別您要儲存已轉換儀錶板的資料夾工作區路徑。
回應包含 dashboard_id
,這是新儀錶板的 UUID。 AI/BI 儀錶板的 UUID 是 32 位數的英數位元值,例如 04aab30f99ea444490c10c85852f216c
。 您可以使用它來識別 Lakeview 命名空間中的此儀錶板,以及在不同的 Azure Databricks REST API 服務之間進行區別。
下列範例顯示範例要求和回應。 請參閱 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"
}
取得草稿儀表板
您可以使用 dashboard_id
,從草稿儀錶板提取儀錶板詳細數據。 下列範例要求和回應包含工作區中目前草稿儀錶板版本的詳細數據。
etag
欄位負責追蹤儀表板的最新版本。 您可以使用此選項來驗證版本,再進行其他更新。
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"
}
更新儀錶板
您可以使用先前回應中的 dashboard_id
來更新使用該作業建立的新 AI/BI 儀錶板。 下列範例顯示範例要求和回應。 上一個範例中的 dashboard_id
會以路徑參數的形式包含。
display_name
和 warehouse_id
已變更。 更新的儀錶板有新的名稱和指派的默認倉儲,如回應所示。
etag
欄位是選擇性的。 如果 etag
中指定的版本不符合目前版本,則會拒絕更新。
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"
}
建立儀錶板
您可以使用 Lakeview API 中的 建立儀錶板 端點,在工作區之間移動儀錶板。 下列範例包含一個範例請求正文和回應,用於建立一個新儀錶板。 上一個範例中的 serialized_dashboard
鍵包含創建備份儀表板草稿所需的所有詳細資訊。
此範例包含一個新的 warehouse_id
值,該值對應到新工作區內的倉儲。 請參閱 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"
}
在要求主體中,唯一需要的屬性是 display_name
。 此工具可以複製儀錶板內容,或建立新的空白儀錶板。
發布儀表板
您可以使用 儀錶板發佈端點 來發佈儀錶板、設定檢視者的認證,以及覆寫草稿儀錶板中已設定的 warehouse_id
。 您必須將儀錶板的 UUID 納入為路徑參數。
請求主體將 embed_credentials
屬性設定為 false
。 根據預設,embed_credentials
會設定為 true
。 內嵌認證可讓帳戶層級用戶檢視儀錶板數據。 請參閱 發佈儀錶板。 由於省略了新的 warehouse_id
值,已發佈的儀錶板將使用與草稿儀錶板相同的倉儲。
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"
}
取得已發佈的儀錶板
來自 GET /api/2.0/lakeview/dashboards/{dashboard_id}/published 的響應類似於上一個範例中提供的回應。
dashboard_id
包含在路徑參數中。
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"
}
取消發布儀錶板
當您使用 Lakeview API 解除發佈儀表板時,草稿儀表板將被保留。 此要求會刪除已發佈的儀錶板版本。
下列範例會使用上一個範例中的 dashboard_id
。 成功的要求會產生 200
狀態代碼。 沒有回應內容。
DELETE /api/2.0/lakeview/dashboards/1e23fd84b6ac7894e2b053907dca9b2f/published
垃圾儀表板
使用 DELETE /api/2.0/lakeview/dashboards/{dashboard_id} 將草稿儀錶板傳送至垃圾桶。 儀錶板仍可復原。
下列範例會使用上一個範例中的 dashboard_id
。 成功的要求會產生 200
狀態代碼。 沒有回應內容。
DELETE /api/2.0/lakeview/dashboards/1e23fd84b6ac7894e2b053907dca9b2f
注意
若要執行永久刪除,請使用 POST /api.2.0/workspace/delete
後續步驟
- 若要深入瞭解儀錶板,請參閱 儀表板。
- 若要深入瞭解 REST API,請參閱 Databricks REST API 參考。