Compartir a través de


Uso de las API de Lakeview para crear y administrar paneles

Las API de Lakeview proporcionan herramientas de administración específicas para administrar paneles de Lakeview. En este artículo se muestra cómo crear un nuevo panel de Lakeview a partir de un panel heredado existente. A continuación, se muestra cómo usar la API de Lakeview para administrar el panel.

Requisitos previos

Migrar un panel

Puede crear un nuevo panel de Lakeview a partir de un panel heredado existente. El punto de conexión Migrar un panel de la API de Lakeview requiere source_dashboard_id. De manera opcional, puede incluir un nombre para mostrar y una ruta de acceso en la que desea que se almacene el nuevo panel.

Obtener paneles de Databricks SQL

Para obtener source_dashboard_id, use la API de paneles de Databricks SQL para obtener una lista de todos los paneles del área de trabajo. Cada objeto de panel de la lista results incluye un UUID que puede usar para hacer referencia al panel heredado en los servicios de API de REST de Azure Databricks.

En el ejemplo siguiente se muestra una solicitud de ejemplo y una respuesta para el punto de conexión Obtener objetos de panel. Se han omitido algunos detalles de respuesta para lograr una mayor claridad. Consulte GET /api/2.0/preview/sql/dashboards para obtener una descripción completa de este punto de conexión y respuesta de ejemplo.

El UUID de un panel heredado es el id de nivel superior de la lista de objetos devueltos en results. En el caso de los paneles heredados, el UUID es similar a 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 el panel heredado

Use el UUID asociado al panel heredado para crear una copia que se convierta automáticamente en un nuevo panel de Lakeview. Esto funciona como la herramienta Clonar a Lakeview disponible en la interfaz de usuario. Consulte Clonar un panel heredado en un panel de Lakeview para obtener información sobre cómo realizar esta operación mediante la interfaz de usuario de Azure Databricks.

Es necesario el UUID del panel heredado que desea convertir en el cuerpo de la solicitud. De manera opcional, puede incluir un nuevo valor display_name y un parent_path que identifique la ruta de acceso del área de trabajo de la carpeta donde desea que se almacene el panel convertido.

La respuesta incluye un dashboard_id, el UUID para el nuevo panel. El UUID de un panel de Lakeview es un valor alfanumérico de 32 dígitos, como 04aab30f99ea444490c10c85852f216c. Puede usarlo para identificar este panel en el espacio de nombres de Lakeview y en distintos servicios de la API de REST de Azure Databricks.

En el ejemplo siguiente se muestra una solicitud y una respuesta de ejemplo. 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"
}

Obtener un panel borrador

Puede usar dashboard_id para extraer los detalles del panel de un panel borrador. La siguiente solicitud y respuesta de ejemplo incluye detalles de la versión actual del panel borrador en el área de trabajo.

El campo etag realiza un seguimiento de la versión más reciente del panel. Puede usarlo para comprobar la versión antes de realizar actualizaciones adicionales.

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

Actualización de un panel

Puede usar dashboard_id en la respuesta anterior para actualizar el nuevo panel de Lakeview creado con esa operación. En el ejemplo siguiente se muestra una solicitud y una respuesta de ejemplo. El dashboard_id del ejemplo anterior se incluye como un parámetro de ruta de acceso.

display_name y warehouse_id se han cambiado. El panel actualizado tiene un nuevo nombre y un almacenamiento predeterminado asignado, como se muestra en la respuesta. El campo etag es opcional. Si la versión especificada en etag no coincide con la versión actual, se rechaza la actualización.

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

Crear un panel

Puede usar el punto de conexión Crear panel en la API de Lakeview para mover el panel entre áreas de trabajo. En el ejemplo siguiente se incluye un cuerpo de solicitud de ejemplo y una respuesta que crea un nuevo panel. La clave serialized_dashboard del ejemplo anterior contiene todos los detalles necesarios para crear un panel borrador duplicado.

El ejemplo incluye un nuevo valor warehouse_id correspondiente a un almacén en la nueva área de trabajo. 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"
}

La única propiedad necesaria en el cuerpo de la solicitud es display_name. Esta herramienta puede copiar contenido del panel o crear paneles nuevos en blanco.

Publicar un panel

Puede usar el punto de conexión Publicar panel para publicar un panel, establecer credenciales para visores e invalidar el warehouse_id establecido en el panel borrador. Debe incluir el UUID del panel como parámetro de la ruta de acceso.

El cuerpo de la solicitud establece la propiedad embed_credentials en false. De manera predeterminada, embed_credentials se establece en true. La inserción de credenciales permite a los usuarios de nivel de cuenta ver los datos del panel. Consulte Publicar un panel. Se omite un nuevo valor warehouse_id, por lo que el panel publicado usa el mismo almacén asignado al panel borrador.

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

Obtener un panel publicado

La respuesta de GET /api/2.0/lakeview/dashboards/{dashboard_id}/published es similar a la respuesta proporcionada en el ejemplo anterior. dashboard_id se incluye como un parámetro de ruta de acceso.

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

Anular la publicación de un panel

El panel borrador se conserva cuando se usa la API de Lakeview para anular la publicación de un panel. Esta solicitud elimina la versión publicada del panel.

En el ejemplo siguiente se usa el objeto dashboard_id del ejemplo anterior. Una solicitud correcta produce un código de estado 200. No hay ningún cuerpo de respuesta.

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

Panel de papelera

Use DELETE /api/2.0/lakeview/dashboards/{dashboard_id} para enviar un panel borrador a la papelera. El panel todavía se puede recuperar.

En el ejemplo siguiente se usa el objeto dashboard_id del ejemplo anterior. Una solicitud correcta produce un código de estado 200. No hay ningún cuerpo de respuesta.

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

Nota:

Para realizar una eliminación permanente, use POST /api.2.0/workspace/delete

Pasos siguientes