Partilhar via


Usar APIs de painel para criar e gerenciar painéis

A API REST do Databricks inclui ferramentas de gerenciamento específicas para gerenciar painéis de IA/BI. Este artigo demonstra como criar um novo painel de IA/BI a partir de um painel herdado existente. Em seguida, ele mostra como usar ferramentas de API para gerenciar o painel.

Observação

Os painéis de IA/BI eram anteriormente conhecidos como painéis Lakeview. A API Lakeview ainda mantém esse nome.

Pré-requisitos

  • Configure a autenticação para acessar os recursos do Azure Databricks. Para saber mais sobre opções de autenticação e obter instruções de configuração, consulte Autorizando acesso aos recursos do Azure Databricks.
  • Você precisa do(s) URL(s) do espaço de trabalho que deseja acessar. Consulte Nomes de instância, URLs e IDs do espaço de trabalho.
  • Familiaridade com a API REST do Databricks, de referência .

Migrar um painel

Você pode criar um novo painel de IA/BI a partir de um painel herdado existente. O endpoint Migrate na API do Lakeview requer o source_dashboard_id. Opcionalmente, você pode incluir um nome para exibição e um caminho onde deseja que o novo painel seja armazenado.

Obtenha painéis legados

Para obter o source_dashboard_id, use a API de painéis herdados para obter uma lista de todos os painéis em seu espaço de trabalho. Cada objeto de painel na lista results inclui um UUID que você pode usar para fazer referência ao painel herdado nos serviços de API REST do Azure Databricks.

O exemplo a seguir mostra um exemplo de um pedido e resposta para o obter objetos do dashboard ponto de acesso. Alguns detalhes da resposta foram omitidos para maior clareza. Consulte /api/workspace/dashboards/list GET para obter uma descrição completa deste ponto de extremidade 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 herdados, o UUID se parece com 4e443c27-9f61-4f2e-a12d-ea5668460bf1.

GET /api/workspace/dashboards/list

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 painel herdado

Use o UUID associado ao painel herdado para criar uma cópia que é convertida automaticamente em um novo painel de IA/BI. Isso funciona como a ferramenta de de painel de clonagem de para IA/BI disponível na interface do usuário. Consulte clonar um painel legado em um painel de IA/BI para saber como executar esta operação usando a interface do utilizador do Azure Databricks.

O UUID do painel herdado que você deseja converter é necessário no corpo da solicitação. Opcionalmente, você pode incluir um novo valor de display_name e um parent_path que identifique o caminho do espaço de trabalho da pasta onde você deseja que o painel convertido seja armazenado.

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

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 esboço

Você pode usar o dashboard_id para extrair detalhes do painel de um painel de controlo em rascunho. O exemplo de solicitação e resposta a seguir inclui detalhes para a versão atual do painel de rascunho no espaço de trabalho.

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/workspace/dashboards/list/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

Você pode usar o dashboard_id na resposta anterior para atualizar o novo painel de IA/BI criado com essa operação. O exemplo a seguir mostra um exemplo de solicitação e resposta. O dashboard_id do exemplo anterior é incluído como um parâmetro path.

display_name e warehouse_id foram alterados. O painel atualizado tem um novo nome e um depósito padrão 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"
}

Criar um painel

Você pode usar o endpoint Criar painel de controlo na API do Lakeview para mover o seu painel de controlo entre espaços de trabalho. O exemplo a seguir inclui um conteúdo de solicitação de exemplo e uma resposta que cria um novo painel de controlo. A chave serialized_dashboard do exemplo anterior contém todos os detalhes necessários para criar um painel de rascunho duplicado.

O exemplo inclui um novo valor de warehouse_id correspondente a um depósito no novo espaço de trabalho. 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 é um display_name. Essa ferramenta pode copiar o conteúdo do painel ou criar novos painéis em branco.

Publicar um painel

Você pode usar o painel Publicar ponto de extremidade para publicar um painel, definir credenciais para 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. Por padrão, embed_credentials é definido como true. A incorporação de credenciais permite que os usuários no nível da conta visualizem os dados do painel. Veja Publicar um painel. Um novo valor para warehouse_id é omitido, por isso, o painel publicado utiliza o mesmo armazém 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"
}

Aceda ao 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 você 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 produz um código de status 200. Não existe um organismo de resposta.

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

Painel da Lixeira

Utilize DELETE /api/2.0/lakeview/dashboards/{dashboard_id} para mover um painel de rascunho 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 produz um código de status 200. Não existe um organismo 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

  • Para saber mais sobre painéis, consulte Painéis.
  • Consulte a referência da API REST do Databricks em para saber mais sobre a API REST.