ダッシュボード API を使用してダッシュボードを作成および管理する
Databricks REST API には、AI/BI ダッシュボードを管理するための管理ツールが含まれています。 この記事では、既存のレガシ ダッシュボードから新しい AI/BI ダッシュボードを作成する方法について説明します。 次に、API ツールを使用してダッシュボードを管理する方法を示します。
注
AI/BI ダッシュボードは、以前は Lakeview ダッシュボードと呼ばれるものでした。 Lakeview API は引き続きその名前を保持します。
前提条件
- Azure Databricks リソースにアクセスするための認証を設定します。 認証オプションとセットアップ手順については、「Azure Databricks リソースへのアクセスの承認を参照してください。
- アクセスするワークスペース URL が必要です。 ワークスペース インスタンス名、URL、IDを参照してください。
- Databricks REST API リファレンスに関する知識。
ダッシュボードの移行
既存のレガシ ダッシュボードから新しい AI/BI ダッシュボードを作成できます。 Lakeview API の Migrate ダッシュボード エンドポイントには、source_dashboard_id
が必要です。 必要に応じて、表示名と、新しいダッシュボードを格納するパスを含めることができます。
従来のダッシュボードを取得する
source_dashboard_id
を取得するには、レガシ ダッシュボード API を使用して、ワークスペース内のすべてのダッシュボードの一覧を取得します。 results
一覧の各ダッシュボード オブジェクトには UUID が含まれており、これを使用して Azure Databricks REST API サービス全体のレガシ ダッシュボードを参照できます。
次の例は、エンドポイント ダッシュボード オブジェクトを取得する の要求と応答のサンプルを示しています。 わかりやすくするために、一部の応答の詳細は省略されています。 このエンドポイントとサンプル応答の詳細については、GET /api/workspace/dashboards/list を参照してください。
レガシ ダッシュボードの UUID は、results
で返されるオブジェクトの一覧の最上位レベルからの id
です。 レガシ ダッシュボードの場合、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 で使用できる CLONE to AI/BI ダッシュボード ツールと同様に機能します。 Azure Databricks UI を使用してこの操作を実行する方法については、「レガシ ダッシュボードを AI/BI ダッシュボードに複製する」を参照してください。
変換するレガシ ダッシュボードの UUID は、要求本文で必要です。 必要に応じて、新しい display_name
値と、変換されたダッシュボードを格納するフォルダーのワークスペース パスを識別する parent_path
を含めることができます。
応答には、dashboard_id
、新しいダッシュボードの UUID が含まれます。 AI/BI ダッシュボードの UUID は、04aab30f99ea444490c10c85852f216c
などの 32 桁の英数字値です。 これを使用して、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
ごみ箱管理画面
削除 /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 リファレンス 参照してください。