Lakeview APIを使用してダッシュボードを作成および管理する
Lakeview APIs Lakeviewダッシュボードを管理するための専用の管理ツールを提供します。 この記事では、既存のレガシー ダッシュボードから新しい Lakeview ダッシュボードを作成する方法を説明します。 次に、Lakeview API を使用してダッシュボードを管理する方法を示します。
前提条件
ワークスペースに接続するには、個人用アクセストークンが必要です。 Databricks個人用アクセストークン認証を参照してください。
アクセスするワークスペースの URL が必要です。 ワークスペースインスタンス名、URL、IDを確認する
Databricks REST API リファレンスに精通していること。
ダッシュボードの移行
既存のレガシー ダッシュボードから新しい Lakeview ダッシュボードを作成できます。 Lakeview API のMigrate ダッシュボードエンドポイントにはsource_dashboard_id
必要です。 必要に応じて、表示名と、新しいダッシュボードを保存するパスを含めることができます。
Databricks SQLダッシュボードを入手する
source_dashboard_id
を取得するには、Databricks SQL ダッシュボード API を使用して、ワークスペース内のすべてのダッシュボードのリストを取得します。 results
リスト内の各ダッシュボード オブジェクトには、Databricks REST API サービス全体で従来のダッシュボードを参照するために使用できる UUID が含まれています。
次の例は、 Get dashboard objects エンドポイントの要求と応答の例を示しています。 わかりやすくするために、一部の回答の詳細は省略されています。 GET /api/2.0/preview/sql/dashboards を参照してください。 このエンドポイントの詳細な説明と応答の例を参照してください。
レガシーダッシュボードの UUID は、 results
で返されるオブジェクトのリストの最上位からid
です。従来のダッシュボードの場合、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 を使用して、新しい Lakeview ダッシュボードに自動的に変換されるコピーを作成します。 これは、UI で利用できるClone to Lakeviewツールと同様に機能します。 Databricks UI を使用してこの操作を実行する方法については、「レガシー ダッシュボードを Lakeview ダッシュボードに複製する」を参照してください。
変換するレガシ ダッシュボードの UUID は、要求本文で必要です。 必要に応じて、新しいdisplay_name
値と、変換されたダッシュボードを保存するフォルダーのワークスペース パスを識別するparent_path
を含めることができます。
応答には、新しいダッシュボードの UUID である dashboard_id
が含まれます。 Lakeview ダッシュボードの UUID は、 04aab30f99ea444490c10c85852f216c
のような 32 桁の英数字の値です。 これを使用して、Lakeview 名前空間内およびさまざまな 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
を使用して、その操作で作成された新しい Lakeview ダッシュボードを更新できます。 次の例は、要求と応答のサンプルを示しています。 前の例の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/ワークスペース/deleteを使用します。
次のステップ
ダッシュボードの詳細については、「 ダッシュボード」を参照してください。
REST API の詳細については、 Databricks REST API リファレンスを参照してください。