작업 영역 API를 사용하여 대시보드 관리
이 자습서에서는 Lakeview API 및 작업 영역 API를 사용하여 대시보드를 관리하는 방법을 보여 줍니다. 각 단계에는 샘플 요청 및 응답과 API 도구 및 속성을 함께 사용하는 방법에 대한 설명이 포함됩니다. 각 단계는 자체적으로 참조할 수 있습니다. 순서대로 모든 단계를 수행하면 전체 워크플로를 안내합니다.
메모
이 워크플로는 작업 영역 API를 호출하여 AI/BI 대시보드를 일반 작업 영역 개체로 검색합니다. AI/BI 대시보드는 이전에 Lakeview 대시보드라고 했습니다. Lakeview API는 해당 이름을 유지합니다.
필수 구성 요소
- 작업 영역에 연결하려면 개인용 액세스 토큰이 필요합니다. Azure Databricks 개인용 액세스 토큰 인증을 참조하세요.
- 액세스하려는 작업 영역의 작업 영역 ID가 필요합니다. 작업 영역 인스턴스 이름, URL 및 ID 참조
- Databricks REST API 참조대한 숙지.
1단계: 작업 영역 디렉터리 탐색
작업 영역 List API GET /api/2.0/workspace/list 사용하여 작업 영역의 디렉터리 구조를 탐색할 수 있습니다. 예를 들어, 현재 작업 영역의 모든 파일 및 디렉터리의 list를 검색할 수 있습니다.
다음 예제에서 요청의 path
속성은 사용자의 홈 폴더에 저장된 examples_folder
폴더를 가리킵니다.
first.last@example.com
경로에 사용자 이름이 제공됩니다.
응답은 폴더에 텍스트 파일, 디렉터리 및 AI/BI 대시보드가 포함되어 있음을 보여 줍니다.
GET /api/2.0/workspace/list
Query Parameters:
{
"path": "/Users/first.last@example.com/examples_folder"
}
Response:
{
"objects": [
{
"object_type": "FILE",
"path": "/Users/first.last@example.com/examples_folder/myfile.txt",
"created_at": 1706822278103,
"modified_at": 1706822278103,
"object_id": 3976707922053539,
"resource_id": "3976707922053539"
},
{
"object_type": "DIRECTORY",
"path": "/Users/first.last@example.com/examples_folder/another_folder",
"object_id": 2514959868792596,
"resource_id": "2514959868792596"
},
{
"object_type": "DASHBOARD",
"path": "/Users/first.last@example.com/examples_folder/mydashboard.lvdash.json",
"object_id": 7944020886653361,
"resource_id": "01eec14769f616949d7a44244a53ed10"
}
]
}
2단계: 대시보드 내보내기
작업 영역 내보내기 API GET /api/2.0/workspace/export 사용하여 대시보드의 내용을 파일로 내보낼 수 있습니다. AI/BI 대시보드 파일은 대시보드의 초안 버전을 반영합니다. 다음 예제의 응답은 최소 대시보드 정의의 내용을 보여 줍니다. 더 많은 직렬화 세부 정보를 탐색하고 이해하려면 일부 대시보드를 내보내 보세요.
내보낸 파일 다운로드
다음 예제에서는 API를 사용하여 대시보드 파일을 다운로드하는 방법을 보여줍니다.
이 예제의 "path"
속성은 AI/BI 대시보드 파일 형식으로, 파일 확장명이 lvdash.json
로 끝납니다. 파일 이름은 작업 영역에 표시되는 대로 확장자 앞에 옵니다. 이 경우에는 mydashboard
입니다.
또한 이 요청의 "direct_download"
속성은 set에서 true
로 설정되어 있으므로 응답이 내보낸 파일 자체이고 "format"
속성은 set에서 "AUTO"
로 설정되어 있습니다.
메모
응답의 페이지 속성에 표시된 "displayName"
속성은 작업 영역에서 대시보드의 표시되는 이름을 반영하지 않습니다.
GET /api/2.0/workspace/export
Query parameters:
{
"path": "/Users/first.last@example.com/examples_folder/mydashboard.lvdash.json",
"direct_download": true,
"format": "AUTO"
}
Response:
{
"pages": [
{
"name": "880de22a",
"displayName": "New Page"
}
]
}
내보낸 파일 인코딩
다음 코드에서는 예제 응답 where"direct_download"
속성이 false로 set 보여 집니다. 응답에는 base64로 인코딩된 문자열로 콘텐츠가 포함됩니다.
GET /api/2.0/workspace/export
Query parameters:
{
"path": "/Users/first.last@example.com/examples_folder/mydashboard.lvdash.json",
"direct_download": false
}
Response:
{
"content": "IORd/DYYsCNElspwM9XBZS/i5Z9dYgW5SkLpKJs48dR5p5KkIW8OmEHU8lx6CZotiCDS9hkppQG=",
"file_type": "lvdash.json"
}
3단계: 대시보드 가져오기
작업 영역 가져오기 API POST /api/2.0/workspace/import 사용하여 초안 대시보드를 작업 영역으로 가져올 수 있습니다. 예를 들어 이전 예제와 같이 인코딩된 파일을 내보낸 후 해당 대시보드를 새 작업 영역으로 가져올 수 있습니다.
가져오기를 AI/BI 대시보드로 인식하려면 두 개의 parameters가 set이어야 합니다.
-
"format"
: "AUTO" - 이 설정을 사용하면 시스템에서 자산 유형을 자동으로 검색할 수 있습니다. -
"path"
: ".lvdash.json"로 끝나는 파일 경로를 포함해야 합니다.
중요하다
이러한 설정이 제대로 구성되지 않은 경우 가져오기가 성공할 수 있지만 대시보드는 일반 파일처럼 처리됩니다.
다음 예제에서는 올바르게 구성된 가져오기 요청을 보여줍니다.
POST /api/2.0/workspace/import
Request body parameters:
{
"path": "/Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json",
"content": "IORd/DYYsCNElspwM9XBZS/i5Z9dYgW5SkLpKJs48dR5p5KkIW8OmEHU8lx6CZotiCDS9hkppQG=",
"format": "AUTO"
}
Response:
{}
4단계: 가져오기 덮어쓰기 (선택 사항)
동일한 API 요청을 다시 실행하려고 시도하면 다음 오류가 발생합니다.
{
"error_code": "RESOURCE_ALREADY_EXISTS",
"message": "Path (/Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json) already exists."
}
중복 요청을 덮어쓰려면, 다음 예제와 같이 "overwrite"
속성을 set에서 true
로 변경하십시오.
POST /api/2.0/workspace/import
Request body parameters:
{
"path": /Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json",
"content": "IORd/DYYsCNElspwM9XBZS/i5Z9dYgW5SkLpKJs48dR5p5KkIW8OmEHU8lx6CZotiCDS9hkppQG=",
"format": "AUTO",
"overwrite": true
}
Response:
{}
5단계: 메타데이터 검색
AI/BI 대시보드를 포함하여 모든 작업 영역 개체에 대한 메타데이터를 검색할 수 있습니다. GET /api/2.0/workspace/get-status항목을 참조하세요.
다음 예제에서는 이전 예제에서 가져온 대시보드에 대한 get-status
요청을 보여줍니다. 응답에는 파일이 "DASHBOARD"
으로 성공적으로 가져와졌음을 확인하는 세부 정보가 포함됩니다. Lakeview API와 함께 identifier로 사용할 수 있는 "resource_id"
속성으로도 구성되어 있습니다.
GET /api/2.0/workspace/get-status
Query parameters:
{
"path": "/Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json"
}
Response:
{
"object_type": "DASHBOARD",
"path": "/Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json",
"object_id": 7616304051637820,
"resource_id": "9c1fbf4ad3449be67d6cb64c8acc730b"
}
6단계: 대시보드 게시
이전 예제에서는 작업 영역 API를 사용하여 AI/BI 대시보드를 제네릭 작업 영역 개체로 사용할 수 있도록 했습니다. 다음 예제에서는 Lakeview API를 사용하여 AI/BI 대시보드와 관련된 게시 작업을 수행합니다. POST /api/2.0/lakeview/dashboards/{dashboard_id}/published을 참조하세요.
API 엔드포인트의 경로에는 이전 예제에서 반환된 "resource_id"
속성이 포함됩니다. 요청 parameters에서 게시자의 credentials가 대시보드에 포함되도록 "embed_credentials"
는 set에서 true
로 변경되었습니다. 이 경우 게시자는 권한 있는 API 요청을 만드는 사용자입니다. 게시자는 다른 사용자의 credentials포함할 수 없습니다.
"warehouse_id"
속성은 게시된 대시보드에 사용할 웨어하우스를 설정합니다. 이 속성은 초안 대시보드에 지정된 웨어하우스를 재정의합니다(지정된 경우).
POST /api/2.0/lakeview/dashboards/9c1fbf4ad3449be67d6cb64c8acc730b/published
Request parameters
{
"embed_credentials": true,
"warehouse_id": "1234567890ABCD12"
}
Response:
{}
명령이 완료되면 브라우저에서 게시된 대시보드에 액세스할 수 있습니다. 다음 예제에서는 게시된 대시보드에 대한 링크를 생성하는 방법을 보여 줍니다.
https://<deployment-url>/dashboardsv3/<resource_id>/published
고유한 링크를 생성하려면 다음을 수행합니다.
-
<deployment-url>
배포 URL로 대체합니다. 이 링크는 Azure Databricks 작업 영역 홈페이지에 있는 경우 브라우저 주소 표시줄의 주소입니다. -
<resource_id>
을(를) 에서 식별한"resource_id"
속성의 값으로 바꾸고메타데이터를 검색합니다.
7단계: 대시보드 삭제
대시보드를 삭제하려면 작업 영역 API를 사용합니다. POST /api/2.0/workspace/delete참조하세요.
중요하다
이것은 하드 삭제입니다. 명령이 완료되면 대시보드가 영구적으로 삭제됩니다.
다음 예제에서 요청에는 이전 단계에서 만든 파일의 경로가 포함됩니다.
POST /api/2.0/workspace/delete
Query parameters:
{
"path": "/Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json"
}
Response:
{}
다음 단계
- 대시보드에 대한 자세한 내용은 대시보드참조하세요.
- REST API에 대한 자세한 내용은 Databricks REST API 참조참조하세요.