Use as APIs do Lakeview para criar e gerenciar painéis

As APIs do Lakeview fornecem ferramentas de gerenciamento especificamente para gerenciar os painéis do Lakeview. Este artigo demonstra como criar um novo painel Lakeview a partir de um painel legado existente. Em seguida, ele mostra como usar a API do Lakeview para gerenciar o painel.

Pré-requisitos

Migrar um painel

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

Obtenha painéis de controle Databricks SQL

Para obter o source_dashboard_id, use Databricks SQL dashboards API para obter uma lista de todos os dashboards em seu workspace. Cada objeto de painel na lista results inclui um UUID que o senhor pode usar para fazer referência ao painel herdado em Databricks REST API serviço.

O exemplo a seguir mostra um exemplo de solicitação e resposta para o Get dashboard objects endpoint. Alguns detalhes das respostas 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 dashboard herdado é 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",
      ...
    }
  ]
}

Migrar o painel legado

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

O UUID do painel herdado que o senhor deseja converter é necessá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 um dashboard_id, o UUID do novo painel. O UUID de um painel do Lakeview é 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"
}

Obter um painel de controle preliminar

O senhor pode usar dashboard_id para extrair detalhes do painel de um painel de rascunho. 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. O senhor 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 painel Lakeview criado com essas operações. O exemplo a seguir mostra um exemplo de solicitação e resposta. O dashboard_id do exemplo anterior é 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 em 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"
}

Criar um painel de controle

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 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 obrigatória no corpo da solicitação é um display_name. Essa ferramenta pode copiar o conteúdo do painel ou criar painéis novos e em branco.

Publicar um painel

O senhor pode usar o endpoint Publish dashboard para publicar um painel, definir credenciais para os visualizadores e substituir o warehouse_id definido no painel de rascunho. O senhor 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, de modo que 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"
}

Obter painel publicado

A resposta de GET /api/2.0/Lakeview /dashboards/{dashboard_id}/published é semelhante à resposta fornecida no exemplo anterior. O dashboard_id é 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 controle da lixeira

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

Observação

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

Próximos passos