작업 영역 API를 사용하여 대시보드 관리
이 자습서에서는 Lakeview API 및 작업 영역 API를 사용하여 대시보드를 관리하는 방법을 보여 줍니다. 각 단계에는 샘플 요청 및 응답과 API 도구 및 속성을 함께 사용하는 방법에 대한 설명이 포함됩니다. 각 단계는 자체적으로 참조할 수 있습니다. 순서대로 모든 단계를 수행하면 전체 워크플로를 안내합니다.
참고 항목
이 워크플로는 작업 영역 API를 호출하여 Lakeview 대시보드를 일반 작업 영역 개체로 검색합니다.
필수 조건
- 작업 영역에 연결하려면 개인용 액세스 토큰이 필요합니다. Azure Databricks 개인용 액세스 토큰 인증을 참조하세요.
- 액세스하려는 작업 영역의 작업 영역 ID가 필요합니다. 작업 영역 인스턴스 이름, URL 및 ID 참조
- Databricks REST API 참조에 대해 잘 알고 있습니다.
1단계: 작업 영역 디렉터리 탐색
작업 영역 목록 API GET /api/2.0/workspace/list 를 사용하면 작업 영역의 디렉터리 구조를 탐색할 수 있습니다. 예를 들어 현재 작업 영역의 모든 파일 및 디렉터리 목록을 검색할 수 있습니다.
다음 예제에서 요청의 속성은 path
사용자의 홈 폴더에 저장된 폴더 examples_folder
를 가리킵니다. 경로에 first.last@example.com
사용자 이름이 제공됩니다.
응답은 폴더에 텍스트 파일, 디렉터리 및 Lakeview 대시보드가 포함되어 있음을 보여 줍니다.
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 를 사용하면 대시보드의 콘텐츠를 파일로 내보낼 수 있습니다. Lakeview 대시보드 파일은 대시보드의 초안 버전을 반영합니다. 다음 예제의 응답은 최소 대시보드 정의의 내용을 보여 줍니다. 더 많은 serialization 세부 정보를 탐색하고 이해하려면 고유한 대시보드 중 일부를 내보냅니다.
내보낸 파일 다운로드
다음 예제에서는 API를 사용하여 대시보드 파일을 다운로드하는 방법을 보여줍니다.
이 예제의 속성은 "path"
파일 형식 확장 lvdash.json
프로그램인 Lakeview 대시보드로 끝납니다. 파일 이름은 작업 영역에 표시되는 대로 해당 확장명 앞에 섰습니다. 이 경우는 mydashboard
다음과 같습니다.
또한 이 요청의 "direct_download"
속성은 응답이 내보낸 파일 자체로 설정 true
됩니다.
참고 항목
응답의 pages 속성에 표시된 속성은 "displayName"
작업 영역에서 대시보드의 표시 이름을 반영하지 않습니다.
GET /api/2.0/workspace/export
Query parameters:
{
"path": "/Users/first.last@example.com/examples_folder/mydashboard.lvdash.json",
"direct_download": true
}
Response:
{
"pages": [
{
"name": "880de22a",
"displayName": "New Page"
}
]
}
내보낸 파일 인코딩
다음 코드는 속성이 "direct_download"
false로 설정된 예제 응답을 보여줍니다. 응답에는 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 를 사용하여 초안 대시보드를 작업 영역으로 가져올 수 있습니다. 예를 들어 이전 예제와 같이 인코딩된 파일을 내보낸 후 해당 대시보드를 새 작업 영역으로 가져올 수 있습니다.
가져오기를 Lakeview 대시보드로 인식하려면 두 개의 매개 변수를 설정해야 합니다.
"format"
: "AUTO" - 이 설정을 사용하면 시스템에서 자산 유형을 자동으로 검색할 수 있습니다."path"
: ".lvdash.json"로 끝나는 파일 경로를 포함해야 합니다.
Important
이러한 설정이 제대로 구성되지 않은 경우 가져오기가 성공할 수 있지만 대시보드는 일반 파일처럼 처리됩니다.
다음 예제에서는 올바르게 구성된 가져오기 요청을 보여줍니다.
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."
}
대신 중복 요청을 덮어쓰려면 다음 예제와 같이 속성을 true
설정합니다"overwrite"
.
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단계: 메타데이터 검색
Lakeview 대시보드를 포함하여 모든 작업 영역 개체에 대한 메타데이터를 검색할 수 있습니다. GET /api/2.0/workspace/get-상태 참조하세요.
다음 예제에서는 이전 예제에서 가져온 대시보드에 대한 요청을 보여줍니다 get-status
. 응답에는 파일이 성공적으로 .로 "DASHBOARD"
가져왔는지 확인하는 세부 정보가 포함됩니다. 또한 Lakeview API를 "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를 사용하여 Lakeview 대시보드를 일반 작업 영역 개체로 사용할 수 있도록 했습니다. 다음 예제에서는 Lakeview API를 사용하여 Lakeview 대시보드와 관련된 게시 작업을 수행합니다. POST /api/2.0/lakeview/dashboards/{dashboard_id}/published를 참조하세요.
API 엔드포인트의 경로에는 이전 예제에서 반환된 속성이 포함됩니다 "resource_id"
. 요청 매개 변수 "embed_credentials"
에서 게시자의 자격 증명이 대시보드에 포함되도록 설정 true
됩니다. 이 경우 게시자는 권한 있는 API 요청을 만드는 사용자입니다. 게시자는 다른 사용자의 자격 증명을 포함할 수 없습니다. 포함 자격 증명 설정의 작동 방식을 알아보려면 대시보드 게시를 참조하세요.
이 속성은 "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
고유한 링크를 생성하려면 다음을 수행합니다.
- 배포 URL로 대체
<deployment-url>
합니다. 이 링크는 Azure Databricks 작업 영역 홈페이지에 있는 경우 브라우저 주소 표시줄의 주소입니다. - 메타데이터 검색에서 식별한 속성의
"resource_id"
값으로 바꿉<resource_id>
다.
7단계: 대시보드 삭제
대시보드를 삭제하려면 작업 영역 API를 사용합니다. POST /api/2.0/workspace/delete를 참조하세요.
Important
이것은 하드 삭제입니다. 명령이 완료되면 대시보드가 영구적으로 삭제됩니다.
다음 예제에서 요청에는 이전 단계에서 만든 파일의 경로가 포함됩니다.
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 참조를 참조하세요.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기