Databricks REST API에는 특히 AI/BI 대시보드를 관리하기 위한 관리 도구가 포함되어 있습니다. 이 페이지에서는 API 도구를 사용하여 대시보드를 만들고 관리하는 방법을 보여 줍니다. UI를 사용하여 이러한 작업을 수행하려면 작성자 대시보드를 참조하세요.
메모
AI/BI 대시보드는 이전에 Lakeview 대시보드라고 했습니다. Lakeview API는 여전히 해당 이름을 유지합니다.
필수 구성 요소
- Azure Databricks 리소스에 액세스하도록 인증을 설정합니다. 인증 옵션에 대해 알아보고 설정 지침을 보려면 Azure Databricks 리소스에 대한 액세스 권한 부여 참조하세요.
- 액세스하려는 작업 영역 URL이 필요합니다. 작업 영역 인스턴스 이름, URL 및 ID를 참조하세요.
- Databricks REST API 참조에 대한 숙지.
초안 대시보드 가져오기
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"
}
서비스 주체 자격 증명을 사용하여 대시보드 게시
API 호출을 수행할 때 서비스 주체로 인증하여 서비스 주체 자격 증명이 포함된 대시보드를 게시할 수 있습니다. 서비스 주체의 토큰을 사용하여 게시하는 경우 대시보드는 해당 서비스 주체의 데이터 및 컴퓨팅 권한으로 게시되므로 직접 데이터 액세스 권한이 없는 사용자가 대시보드를 볼 수 있습니다.
게시하기 전에 서비스 주체는 적어도 대시보드에 대한 CAN MANAGE 권한, SELECT 대시보드에 사용되는 모든 데이터 원본에 대한 권한 및 웨어하우스에 대한 CAN USE 권한이 있어야 합니다. 서비스 주체를 만들고 OAuth 비밀을 생성하는 방법에 대한 자세한 내용은 서비스 주체 및 OAuth를 사용하여 Azure Databricks 대한 서비스 주체 액세스 권한 인증 참조하세요.
먼저 서비스 주체로 인증하여 액세스 토큰을 가져옵니다.
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
}
그런 다음 액세스 토큰을 사용하여 서비스 주체의 자격 증명을 사용하여 대시보드를 게시합니다.
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"
}
embed_credentials이 true로 설정되면, 대시보드 뷰어는 서비스 주체의 권한을 사용하여 데이터 및 컴퓨팅 리소스에 액세스합니다. 사용자는 대시보드 개체 자체에 액세스할 수 있는 권한만 있으면 됩니다. 모든 대시보드 쿼리는 서비스 주체의 ID를 사용하여 실행되므로 감사 로그는 서비스 주체를 쿼리 실행기로 표시합니다.
게시된 대시보드 가져오기
GET /api/2.0/lakeview/dashboards/{dashboard_id}/게시된 응답은 이전 예제에서 제공한 응답과 유사합니다.
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 참조 참조하세요.