Gerenciar painéis de controle com espaço de trabalho APIs
Este tutorial demonstra como gerenciar dashboards usando o Lakeview API e o espaço de trabalho API. Cada etapa inclui um exemplo de solicitação e resposta e explicações sobre como usar as ferramentas e propriedades da API em conjunto. Cada etapa pode ser referenciada sozinha. Seguir todas as etapas em ordem guia o senhor por um fluxo de trabalho completo.
Esse fluxo de trabalho chama o espaço de trabalho API para recuperar um AI/BI dashboard como um objeto workspace genérico. AI/BI Os painéis eram conhecidos anteriormente como Lakeview dashboards. A API Lakeview mantém esse nome.
Pré-requisitos
- Configure a autenticação para acessar o recurso Databricks . Para saber mais sobre opções de autenticação e obter instruções de configuração, consulte Autorizar acesso ao recurso Databricks.
- O senhor precisa do(s) URL(s) do site workspace que deseja acessar. Consulte nomes de instância de espaço de trabalho, URLs e IDs.
- Familiaridade com a referência da API REST da Databricks.
Etapa 1: Explorar um diretório workspace
A lista do espaço de trabalho API GET /api/2.0/workspace /list permite que o senhor explore a estrutura de diretórios do seu site workspace. Por exemplo, o senhor pode obter uma lista de todos os arquivos e diretórios em seu site atual workspace.
No exemplo a seguir, a propriedade path na solicitação aponta para uma pasta chamada examples_folder armazenada na pasta home de um usuário. O nome de usuário é fornecido no caminho first.last@example.com.
A resposta mostra que a pasta contém um arquivo de texto, um diretório e um AI/BI dashboard.
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"
    }
  ]
}
Etapa 2: exportar um painel
O espaço de trabalho Export API GET /api/2.0/workspace /export permite exportar o conteúdo de um painel como um arquivo. AI/BI dashboard refletem a versão preliminar de um dashboard. A resposta nos exemplos a seguir mostra o conteúdo de uma definição mínima de painel. Para explorar e entender mais detalhes da serialização, tente exportar alguns de seus próprios painéis.
Faça o download do arquivo exportado
O exemplo a seguir mostra como fazer o download de um arquivo de painel usando a API.
A propriedade "path" neste exemplo termina com a extensão de tipo de arquivo lvdash.json, e AI/BI dashboard. O nome do arquivo, como aparece no site workspace, precede essa extensão. Nesse caso, é mydashboard.
Além disso, a propriedade "direct_download" dessa solicitação é definida como true, portanto, a resposta é o próprio arquivo exportado e a propriedade "format" é definida como "AUTO".
A propriedade "displayName", mostrada na propriedade pages da resposta, não reflete o nome visível do painel no site workspace.
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"
    }
  ]
}
Codificar o arquivo exportado
O código a seguir mostra um exemplo de resposta em que a propriedade "direct_download" está definida como false. A resposta contém o conteúdo como uma cadeia de caracteres codificada em 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"
}
Etapa 3: importar um painel
O senhor pode usar o espaço de trabalho Import API POST /api/2.0/workspace /import para importar painéis de rascunho para um workspace. Por exemplo, depois de exportar um arquivo codificado, como no exemplo anterior, o senhor pode importar esse painel para um novo workspace.
Para que uma importação seja reconhecida como AI/BI dashboard, dois parâmetros devem ser definidos:
- "format": "AUTO" - essa configuração permitirá que o sistema detecte o tipo de ativo automaticamente.
- "path"O senhor deve incluir um caminho de arquivo que termine com ".lvdash.JSON".
Se essas configurações não forem definidas corretamente, a importação poderá ser bem-sucedida, mas o painel será tratado como um arquivo normal.
O exemplo a seguir mostra uma solicitação de importação configurada corretamente.
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:
{}
Etapa 4: Substituir na importação (opcional)
A tentativa de reemitir a mesma solicitação de API resulta no seguinte erro:
{
        "error_code": "RESOURCE_ALREADY_EXISTS",
        "message": "Path (/Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json) already exists."
}
Se você quiser substituir a solicitação duplicada, defina a propriedade "overwrite" como true, como no exemplo a seguir.
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:
{}
Etapa 5: recuperar metadados
O senhor pode recuperar metadados de qualquer objeto workspace, incluindo um AI/BI dashboard. Consulte GET /api/2.0/workspace/get-status.
O exemplo a seguir mostra uma solicitação get-status para o painel importado do exemplo anterior. A resposta inclui detalhes que afirmam que o arquivo foi importado com sucesso como "DASHBOARD". Além disso, ele consiste em uma propriedade "resource_id" que o senhor pode usar como identificador com a API do 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"
}
Etapa 6: publicar um painel
Os exemplos anteriores usaram o espaço de trabalho API, permitindo trabalhar com painéis AI/BI como objetos workspace genéricos. O exemplo a seguir usa o endereço Lakeview API para realizar operações de publicação específicas para os painéis AI/BI. Consulte POST /api/2.0/Lakeview/dashboards/{dashboard_id}/published.
O caminho para o endpoint API inclui a propriedade "resource_id" retornada no exemplo anterior. Nos parâmetros da solicitação, "embed_credentials" é definido como true para que as credenciais do publicador sejam incorporadas no painel. O publicador, neste caso, é o usuário que está fazendo a solicitação de API autorizada. O editor não pode incorporar credenciais de usuários diferentes. Consulte Publicar um painel para saber como funciona a configuração de permissões Compartilhar com dados .
A propriedade "warehouse_id" define o depósito a ser usado para o painel publicado. Se especificada, essa propriedade substitui o depósito especificado para o painel de rascunho, se houver.
POST /api/2.0/lakeview/dashboards/9c1fbf4ad3449be67d6cb64c8acc730b/published
Request parameters
{
  "embed_credentials": true,
  "warehouse_id": "1234567890ABCD12"
}
Response:
{}
O painel publicado pode ser acessado no seu navegador quando o comando for concluído. O exemplo a seguir mostra como criar o link para seu painel publicado.
https://<deployment-url>/dashboardsv3/<resource_id>/published
Para criar seu link exclusivo:
- Substitua <deployment-url>pelo seu URL de implantação. Esse link é o endereço na barra de endereços do navegador quando o senhor está na página inicial do Databricks workspace .
- Substitua <resource_id>pelo valor da propriedade"resource_id"que você identificou nos metadados de recuperação.
Etapa 7: excluir um painel
Para excluir um dashboard, use o espaço de trabalho API. Consulte POST /api/2.0/workspace/delete.
Essa é uma exclusão forçada. Quando o comando é concluído, o painel é excluído permanentemente.
No exemplo a seguir, a solicitação inclui o caminho para o arquivo criado nas etapas anteriores.
POST /api/2.0/workspace/delete
Query parameters:
{
        "path": "/Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json"
}
Response:
{}
Próximas etapas
- Para saber mais sobre painéis, consulte Painéis.
- Para saber mais sobre a API REST, consulte a referência da API REST da Databricks.