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 のを参照してください。
レガシ ダッシュボードの UUID は、id
で返されるオブジェクトの一覧の最上位レベルからの results
です。 レガシ ダッシュボードの場合、UUID は 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",
...
}
]
}
レガシ ダッシュボードを移行する
レガシ ダッシュボードに関連付けられている 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/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"
}
ダッシュボードを更新する
前の応答の 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 リファレンス 参照してください。