Управление панелями мониторинга с помощью API рабочей области
В этом руководстве показано, как управлять панелями мониторинга с помощью API Lakeview и API рабочей области. Каждый шаг включает пример запроса и ответа, а также объяснения того, как использовать инструменты и свойства API вместе. Каждый шаг можно упоминать отдельно. Следуя всем шагам по порядку, вы можете пройти полный рабочий процесс.
Заметка
Этот рабочий процесс вызывает API рабочей области для получения панели мониторинга AI/BI в качестве универсального объекта рабочей области. Панели мониторинга AI/BI ранее были известны как панели мониторинга Lakeview. API Lakeview сохраняет это имя.
Необходимые условия
- Для подключения к рабочей области требуется личный маркер доступа. См. раздел аутентификацию с помощью личного токена доступа Azure Databricks в разделе.
- Вам нужен идентификатор рабочей области, к которой вы хотите получить доступ. См. имена экземпляров рабочей среды, URL-адреса и идентификаторы
- Знакомство ссправочником по REST API
Databricks.
шаг 1. Изучение каталога рабочей области
API списка рабочих областей GET /api/2.0/workspace/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"
в этом примере заканчивается расширением типа файла lvdash.json
панели мониторинга AI/BI. Имя файла, отображаемое в рабочей области, предшествует этому расширению. В этом случае это mydashboard
.
Кроме того, свойство "direct_download"
для этого запроса имеет значение true
поэтому ответ является экспортированным файлом, а для свойства "format"
задано значение "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"
}
]
}
Кодирование экспортированного файла
В следующем коде показан пример ответа, в котором для свойства "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 для импорта черновиков дашбордов в рабочую область. Например, после экспорта закодированного файла, как и в предыдущем примере, можно импортировать эту панель мониторинга в новую рабочую область.
Для импорта, распознаваемого как панель мониторинга ИИ/BI, необходимо задать два параметра:
-
"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"
значение 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"
. Кроме того, он состоит из свойства "resource_id"
, которое можно использовать в качестве идентификатора с API Lakeview.
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 рабочей области, что позволяет работать с панелями мониторинга ИИ/BI в качестве универсальных объектов рабочей области. В следующем примере API Lakeview используется для выполнения операции публикации, относящихся к информационным панелям AI/BI. См. 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
Чтобы создать уникальную ссылку, выполните приведенные выше действия.
- Замените
<deployment-url>
URL-адресом развертывания. Эта ссылка — это адрес в адресной строке браузера, когда вы находитесь на домашней странице рабочей области Azure Databricks. - Замените
значением свойства , которое вы определили при получении метаданныхиз .
Шаг 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 см. в справочнике по REST API Databricks.