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 painel AI/BI a partir de um painel legado existente. Em seguida, ele mostra como usar as ferramentas de API para gerenciar o painel.
Observação
AI/BI Os painéis eram conhecidos anteriormente como Lakeview dashboards. O Lakeview API ainda mantém esse nome.
Pré-requisitos
O senhor precisa de um access token pessoal para se conectar com seu workspace. Consulte Databricks autenticação pessoal access token .
O senhor precisa do(s) URL(s) do site workspace que deseja acessar. Consulte Nomes de instâncias, URLs e IDs do espaço de trabalho
Familiaridade com a referência da API REST da Databricks.
Migrar um painel
O senhor pode criar um novo painel AI/BI a partir de um painel legado existente. O endpoint Migrate dashboard na API do Lakeview requer 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 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 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 painel legado para criar uma cópia que é automaticamente convertida em um novo painel AI/BI. Isso funciona como a ferramenta de painel Clone to AI/BI disponível na interface do usuário. Consulte Clonar um painel legado em um painel AI/BI 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 painel de controle AI/BI é 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 painel AI/BI 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 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 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
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 da Databricks para saber mais sobre a API REST.