Baja de la API de Looker 3.x

Se inhabilitará la API 3.x en agosto de 2023

Anteriormente, habíamos comunicado que este cambio se aplicaría en la versión de julio de 2023. En función de los comentarios de los clientes, retrasamos esta fecha límite a agosto de 2023 para facilitar la transición. Cierra este diálogo para obtener más detalles.

Después de la versión DG de la API 4.0 en Looker 22.4, anunciamos la baja de la API 3.1, además de la API 3.0, que ya estaba obsoleta.

A partir de nuestro anuncio de baja en junio de 2022, tanto la API 3.1 como la API 3.0, conocida como 3.x, dejaron de estar disponibles. Las versiones de la API 3.x se inhabilitarán a partir del lanzamiento de la versión 23.14 de Looker en agosto de 2023.

Esta actualización se lanzará en las instancias alojadas en Looker durante el horario de mantenimiento entre el 14 y el 24 de agosto. Como resultado, todas las instancias alojadas en Looker deben actualizar sus aplicaciones para que usen los extremos de la API 4.0 en lugar de los extremos de la API 3.x antes del 14 de agosto de 2023. Todas las funcionalidades que se basen en extremos 3.x dejarán de funcionar después de este cambio.

Si tu instancia se aloja en una ubicación propia, debes actualizar tus aplicaciones antes de actualizar tu instancia de Looker a la versión 23.14 o posterior.

La API 4.0 cubre completamente la funcionalidad que ofrecen las API obsoletas y esperamos que la actualización de 3.x a 4.0 sea sencilla para la mayoría de los clientes.

Los clientes que no puedan migrar correctamente a la API 4.0 deben comunicarse con el equipo de asistencia de Looker.

Cronograma

  • Antes de 2022: la API 3.0 estaba en estado obsoleto, 3.1 se encontraba en estado estable y la versión 4.0 se encontraba en estado beta.
  • Marzo de 2022: La API 4.0 entra en un estado estable y está disponible de forma general en Looker 22.4
  • Junio de 2022: Se anuncia la baja de la API 3.1
  • Agosto de 2023: Se desactivará la API 3.x en Looker

¿Quién debería leer esto?

Este documento es para ti si usas la API de Looker mediante los SDKs compatibles con Looker, los SDKs compatibles con la comunidad o la API en sí. Continúa leyendo para obtener más información sobre los cambios rotundos que podrían afectar tu aplicación y aprender

¿Qué debo hacer?

Deberás realizar los siguientes cambios en tu código. Estos se describen con más detalle a continuación. - Cambiar el código para que apunte a la nueva API - Identificar el uso de los extremos que se quitaron y reemplazar esas referencias por el equivalente de la API 4.0 - Actualizar los valores de ID que anteriormente se expresaban como números para expresarlos como cadenas

Detalles de migración de la API 4.0

Cambia tu código para que apunte a la nueva API

Cuando realices llamadas a la API directamente desde la línea de comandos o programas como Postman, deberás ajustar la URL que usas para realizar la solicitud.

### API 3.1 ###
GET https://myinstance.looker.com/api/3.1/users/5877

### API 4.0 ###
GET https://myinstance.looker.com/api/4.0/users/5877

Si usas uno de nuestros SDK, deberás asegurarte de inicializar la versión correcta. A continuación, te mostramos un ejemplo básico de cómo podría verse el comienzo de una secuencia de comandos de Python usando nuestro SDK en ambas versiones:

### API 3.1 ###
import looker_sdk
sdk = looker_sdk.init31()

### API 4.0 ###
import looker_sdk
sdk = looker_sdk.init40()

Una vez que hayas realizado el cambio en la API 4.0, es hora de probar el código y prestar atención a los cambios que se mencionan a continuación.

Reemplazos de extremos de API 3.x

Para mantener la coherencia de la terminología entre la API de Looker y la IU de Looker, la API 4.0 reemplaza algunos extremos de la API 3.x obsoletos por extremos equivalentes o mejorados, que se enumeran a continuación:

Se cambió el nombre de los extremos “Space” a otro nombre. En su lugar, usa extremos de "carpeta" similares.

Ejemplo del SDK de Python

    #####################
    ##### API 3 #########
    #####################

    # Create Folder in Shared Folders
    response = sdk.create_space(
      body=mdls.CreateSpace(
        name="My New Folder",
        parent_id="1"
      )
    )

    # Get Folder info by ID
    response = sdk.space(space_id="555")

    # Change name of existing Folder
    response = sdk.update_space(
      space_id="555",
      body=mdls.UpdateSpace(
        name="My Updated Folder"
      )
    )

    #####################
    ##### API 4 #########
    #####################

    # Create Folder in Shared Folders
    response = sdk.create_folder(
      body=mdls.CreateFolder(
        name="My New Folder",
        parent_id="1"
      )
    )

    # Get Folder info by ID
    response = sdk.folder(folder_id="555")

    # Change name of existing Folder
    response = sdk.update_folder(
      space_id="555",
      body=mdls.UpdateFolder(
        name="My Updated Folder"
      )
    )
    

Ejemplo de cURL

    #####################
    ##### API 3 #########
    #####################

    # Get Folder info by ID
    curl -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" https://myinstance.looker.com/api/3.1/spaces/555

    # Change name of existing Folder
    curl -X PATCH https://myinstance.looker.com/api/3.1/spaces/555 -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" -H "Content-Type: application/json" -d "{\"name\": \"My Updated Space\"}"

    #####################
    ##### API 4 #########
    #####################

    # Get Folder info by ID
    curl -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" https://myinstance.looker.com/api/4.0/folders/555

    # Change name of existing Folder
    curl -X PATCH https://myinstance.looker.com/api/4.0/folders/555 -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" -H "Content-Type: application/json" -d "{\"name\": \"My Updated Space\"}"
    

Se quitaron los extremos de "Página principal". En su lugar, usa extremos de "tablero" con funcionalidad expandida.

Ejemplo del SDK de Python

    #####################
    ##### API 3 #########
    #####################

    # Get Board info by ID
    response = sdk.homepage(homepage_id=1348)

    # Update displayed title of Board item
    response = sdk.update_homepage_item(
      homepage_item_id=86,
      body=mdls.WriteHomepageItem(
        custom_title="Volume 3"
      )
    )

    #####################
    ##### API 4 #########
    #####################

    # Get Board info by ID
    response = sdk.board(board_id=1348)

    # Update displayed title of Board item
    response = sdk.update_board_item(
      board_item_id=86,
      body=mdls.WriteBoardItem(
        custom_title="Volume 3"
      )
    )
    

Ejemplo de cURL

    #####################
    ##### API 3 #########
    #####################

    # Get Board info by ID
    curl -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" https://myinstance.looker.com/api/3.1/homepages/1348

    # Update displayed title of Board item
    curl -X PATCH https://myinstance.looker.com/api/3.1/homepage_items/86 -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" -H "Content-Type: application/json" -d "{\"custom_title\": \"Volume 3\"}"

    #####################
    ##### API 4 #########
    #####################

    # Get Board info by ID
    curl -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" https://myinstance.looker.com/api/4.0/boards/1348

    # Update displayed title of Board item
    curl -X PATCH https://myinstance.looker.com/api/4.0/boards/86 -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" -H "Content-Type: application/json" -d "{\"custom_title\": \"Volume 3\"}"
    

API 4.0: Romper los tipos de campos de ID

La API 4.0 ha actualizado los tipos de algunos campos de ID, de números a cadenas. Utiliza nuestra herramienta de diferencias de referencia de la API para determinar qué campos de ID cambiaron entre 3.1 y 4.0. Usa SDKs de lenguajes compatibles con Looker (más de 23.0) actualizados para asegurarte de que tus aplicaciones tengan el tipo correcto durante la migración y después de ella. La mayoría de los SDKs de lenguajes compatibles con la comunidad, incluidos Kotlin, Swift, R, C# y Go, también funcionan con los tipos actualizados.

Los desarrolladores que usan bibliotecas personalizadas deben buscar en su código referencias a estos campos para asegurarse de que se manejen de forma adecuada.

Diferencia de API 4.0

Además de los lineamientos mencionados en esta página de documentación, el Explorador de APIs de Looker proporciona una lista completa de todas las diferencias entre las APIs 3.x y 4.0.

Inhabilitación o habilitación de la API 3.x mediante activación de funciones heredadas

Para los clientes alojados en Looker que usan Looker 23.6, 23.8, 23.10 y 23.12, actualmente los administradores pueden inhabilitar todas las llamadas a los extremos de la API 3. Esto te permitirá realizar pruebas en tu instancia para asegurarte de que ningún servicio o aplicación integrados dejen de funcionar antes de la fecha límite del 14 de agosto. Para ello, puedes activar o desactivar “Deny API 3.x requests” (Rechazar solicitudes a la API 3.x) en el panel de administración de funciones heredadas.

Los clientes autoalojados que usan Looker 23.6, 23.8, 23.10 y 23.12 pueden ejecutar el siguiente comando de shell antes de iniciar Looker para agregar una variable de entorno que hará visible el botón de activación “Denegar las solicitudes a la API 3.x” (Nota: Después de ejecutar el comando, seguirás teniendo que cambiar el botón de activación en el panel Funciones heredadas): en la IU de Looker para detener las llamadas a la API 3.

export FF_DENY_API3=true

Preguntas frecuentes

No estoy seguro si se están realizando llamadas a la API 3.x en mi instancia. ¿Cómo puedo encontrar esta información?

A partir de Looker 23.8, la columna Fuente del panel Administrador > Consultas ahora muestra correctamente la versión de API (v3 o v4) para las consultas que se inician desde la API de Looker. No se incluirá información sobre tareas de administrador o desarrollador, como la creación de usuarios o tareas de desarrollo o Git de LookML.

Nuestro servicio de informes internos tiene información más detallada sobre las solicitudes a la API, incluidas las que se usan para completar las tareas de administración y desarrollo de LookML. Los clientes con instancias que sigan la configuración de red recomendada pueden comunicarse con la Asistencia de Looker para solicitar una exportación de estos datos.

Aloje mi propia instancia. ¿Debo realizar la actualización antes del 14 de agosto de 2023?

Si tu instancia se aloja en una ubicación propia, deberás realizar los cambios antes de actualizar a la versión de agosto de 2023 (versión 23.14) o a cualquier versión posterior. Te recomendamos que comiences a hacer este trabajo lo antes posible para que puedas conservar una versión compatible y obtener la mejor experiencia con Looker.

Mi instancia está alojada en Looker, pero en el programa ESR. ¿Debo realizar la actualización antes del 14 de agosto de 2023?

Deberás realizar los cambios antes de que tu instancia se actualice a la versión de agosto de 2023 (versión 23.14) o a cualquier versión posterior. Te recomendamos que comiences a hacer este trabajo lo antes posible para que no tengas tiempo cuando tu instancia esté programada para recibir esa actualización.

Leí la documentación, pero aún tengo problemas o no sé cómo proceder.

Los clientes que no puedan migrar correctamente a la API 4.0 deben comunicarse con el equipo de asistencia de Looker.