Pular para o conteúdo principal

Usar APIs de painel para criar e gerenciar painéis

O site Databricks REST API inclui ferramentas de gerenciamento especificamente para gerenciar AI/BI dashboards. Este artigo demonstra como criar um novo AI/BI dashboard a partir de um dashboard legado existente. Em seguida, ele mostra como usar as ferramentas de API para gerenciar o painel.

nota

AI/BI Os painéis eram conhecidos anteriormente como Lakeview dashboards. O Lakeview API ainda mantém esse nome.

Pré-requisitos

Migrar um painel

O senhor pode criar um novo AI/BI dashboard a partir de um painel legado existente. O endpoint do painel Migrate na API do Lakeview requer o endereço source_dashboard_id. Opcionalmente, você pode incluir um nome de exibição e um caminho no qual deseja que o novo painel seja armazenado.

Obtenha painéis antigos

Para obter o source_dashboard_id, use os painéis herdados API para obter uma lista de todos os painéis em seu site workspace. Cada objeto de painel na lista results inclui um UUID que o senhor pode usar para se referir ao painel herdado em Databricks REST API serviço.

O exemplo a seguir mostra um exemplo de solicitação e resposta para o endpoint Get dashboard objects . Alguns detalhes da resposta foram omitidos para maior clareza. Consulte GET /api/2.0/preview/sql/dashboards para obter uma descrição completa desse endpoint e um exemplo de resposta.

O UUID de um painel legado é o id do nível superior da lista de objetos retornados em results. Para painéis antigos, o UUID se parece com 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",
...
}
]
}

Migre o painel legado

Use o UUID associado ao dashboard legado para criar uma cópia que é automaticamente convertida em um novo AI/BI dashboard. Isso funciona como a ferramenta Clone to AI/BI dashboard disponível na interface do usuário. Consulte Clonar um painel legado em um AI/BI dashboard para saber como realizar essas operações usando a UI Databricks.

O UUID do painel legado que você deseja converter é obrigatório no corpo da solicitação. Opcionalmente, o senhor pode incluir um novo valor display_name e um parent_path que identifica o caminho workspace da pasta onde deseja que o painel convertido seja armazenado.

A resposta inclui dashboard_id, o UUID do novo painel. O UUID de um AI/BI dashboard é um valor alfanumérico de 32 dígitos, como 04aab30f99ea444490c10c85852f216c. O senhor pode usá-lo para identificar esse painel no espaço de nomes Lakeview e em diferentes serviços Databricks REST API .

O exemplo a seguir mostra um exemplo de solicitação e resposta. Consulte 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"
}

Obtenha um rascunho do painel

Você pode usar o dashboard_id para extrair detalhes do painel de um rascunho de painel. O exemplo de solicitação e resposta a seguir inclui detalhes da versão atual do painel preliminar no site workspace.

O campo etag rastreia a versão mais recente do painel. Você pode usar isso para verificar a versão antes de fazer atualizações adicionais.

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"
}

Atualizar um painel

O senhor pode usar o dashboard_id na resposta anterior para atualizar o novo AI/BI dashboard criado com essas operações. O exemplo a seguir mostra um exemplo de solicitação e resposta. O dashboard_id do exemplo anterior está incluído como um parâmetro de caminho.

O display_name e o warehouse_id foram alterados. O painel atualizado tem um novo nome e um depósito default atribuído, conforme mostrado na resposta. O campo etag é opcional. Se a versão especificada no etag não corresponder à versão atual, a atualização será rejeitada.

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"
}

Crie um painel

O senhor pode usar o Create dashboard (Criar painel) endpoint em Lakeview API para mover seu painel entre espaços de trabalho. O exemplo a seguir inclui um exemplo de corpo de solicitação e resposta que cria um novo painel. O serialized_dashboard key do exemplo anterior contém todos os detalhes necessários para criar um painel de rascunho duplicado.

A amostra inclui um novo valor warehouse_id correspondente a um depósito no novo site workspace. Consulte 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"
}

A única propriedade necessária no corpo da solicitação é display_name. Essa ferramenta pode copiar o conteúdo do painel ou criar painéis novos e em branco.

Publique um painel

O senhor pode usar o endpoint Publish dashboard (Publicar painel) para publicar um painel, definir credenciais para os visualizadores e substituir o warehouse_id definido no painel de rascunho. Você deve incluir o UUID do painel como um parâmetro de caminho.

O corpo da solicitação define a propriedade embed_credentials como false. Em default, embed_credentials é definido como true. A incorporação de credenciais permite que os usuários de nível accountacessem os dados do painel view. Consulte Publicar um painel. Um novo valor warehouse_id é omitido, então o painel publicado usa o mesmo depósito atribuído ao painel de rascunho.

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"
}

Obtenha um painel publicado

A resposta de GET /api/2.0/Lakeview /dashboards/{dashboard_id}/published é semelhante à resposta fornecida no exemplo anterior. O dashboard_id está incluído como um parâmetro de caminho.

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"
}

Cancelar a publicação de um painel

O painel de rascunho é mantido quando o senhor usa a API do Lakeview para cancelar a publicação de um painel. Essa solicitação exclui a versão publicada do painel.

O exemplo a seguir usa o dashboard_id do exemplo anterior. Uma solicitação bem-sucedida gera um código de status 200. Não há corpo de resposta.

DELETE /api/2.0/lakeview/dashboards/1e23fd84b6ac7894e2b053907dca9b2f/published

Painel de lixo

Use DELETE /api/2.0/Lakeview /dashboards/{dashboard_id} para enviar um rascunho de painel para a lixeira. O painel ainda pode ser recuperado.

O exemplo a seguir usa o dashboard_id do exemplo anterior. Uma solicitação bem-sucedida gera um código de status 200. Não há corpo de resposta.

DELETE /api/2.0/lakeview/dashboards/1e23fd84b6ac7894e2b053907dca9b2f
nota

Para executar uma exclusão permanente, use POST /api.2.0/workspace/delete

Próximas etapas