La API 3.x se inhabilitará en agosto de 2023
Anteriormente, comunicamos que este cambio se realizaría en la versión de julio de 2023. En función de los comentarios de los clientes, extendimos el plazo hasta agosto de 2023 para facilitar esta transición. Cierra este diálogo para obtener más detalles.
Después del lanzamiento en etapa de disponibilidad general 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 de 3.1 como la de 3.0, denominadas 3.x, están obsoletas. 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 las horas de mantenimiento entre el 14 y el 24 de agosto. Como resultado, todas las instancias alojadas por Looker deben actualizar sus aplicaciones para usar los extremos de la API 4.0 en lugar de los extremos de la API 3.x antes del 14 de agosto de 2023. Cualquier funcionalidad que dependa de los extremos de 3.x dejará de funcionar después de este cambio.
Si tu instancia es autoalojada, debes actualizar tus aplicaciones antes de actualizar tu instancia de Looker a la versión 23.14 o una posterior.
La API de 4.0 cubre por completo la funcionalidad que ofrecen las APIs 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 está obsoleta, la 3.1 es estable y la 4.0 está en versión beta.
- Marzo de 2022: La API 4.0 entra en 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 a través de SDKs compatibles con Looker, SDKs compatibles con la comunidad o la propia API. Continúa leyendo para obtener información sobre los cambios rotundos que podrían afectar a tu aplicación y
¿Qué debo hacer?
Deberás realizar los siguientes cambios en tu código. Estos se describen con más detalle más adelante en esta página.
- Cambia el código para que apunte a la nueva API.
- Identifica el uso de los extremos que se quitaron y reemplaza esas referencias por el equivalente de la API 4.0.
- Actualiza los valores de ID que antes se expresaban como números para que se expresen como cadenas.
Detalles de la migración a la API 4.0
Cambiar tu código para que apunte a la nueva API
Cuando realices llamadas a la API directamente a través de 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 SDKs, deberás asegurarte de inicializar la versión correcta del SDK. Este es un ejemplo básico de cómo podría verse el comienzo de una secuencia de comandos de Python con 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 a la API de 4.0, es hora de probar tu código y observar los siguientes cambios.
Reemplazos de extremos de la 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". En su lugar, usa los extremos sinónimos de "Folder".
- Consulta la documentación de las funciones de carpetas.
- Consulta la lista de extremos de la API de carpetas.
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 IDcurl -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" https://myinstance.looker.com/api/3.1/spaces/555
# Change name of existing Foldercurl -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 IDcurl -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" https://myinstance.looker.com/api/4.0/folders/555
# Change name of existing Foldercurl -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 "Homepage". En su lugar, usa los extremos de "tablero" de la funcionalidad expandida.
- Consulta la documentación de las funciones de la tabla.
- Consulta la lista de extremos de la API de la tabla.
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 IDcurl -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" https://myinstance.looker.com/api/3.1/homepages/1348
# Update displayed title of Board itemcurl -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 IDcurl -H "Authorization: token Tg7gjGZD7B8c3k7g6XtmbcyYrQgMrXpjkR25dQ2G" https://myinstance.looker.com/api/4.0/boards/1348
# Update displayed title of Board itemcurl -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\"}"
Tipos de campos de ID de cambio de la API 4.0
La API 4.0 actualizó los tipos de algunos campos de ID de números a cadenas. Usa nuestra herramienta de comparación de referencias de la API para determinar qué campos de ID cambiaron entre la versión 3.1 y la 4.0. Usa SDKs de lenguaje compatibles con Looker actualizados (23.0 y versiones posteriores) para asegurarte de que tus aplicaciones tengan el tipo correcto durante y después de la migración. La mayoría de los SDK de lenguajes compatibles con la comunidad, incluidos Kotlin, Swift, R, C# y Go, ya funcionan con los tipos actualizados.
Los desarrolladores que usan bibliotecas personalizadas deben buscar referencias a estos campos en su código para asegurarse de que se manejen de forma adecuada.
Diferencias entre el nivel de API 4.0
Además de los lineamientos que se enumeran en esta página de documentación, el Explorador de APIs de Looker proporciona una lista completa de todas las diferencias entre las APIs de 3.x y la API de 4.0.
Inhabilita o habilita la API 3.x a través del botón de activación de funciones heredadas
En el caso de los clientes alojados en Looker que usan Looker 23.6, 23.8, 23.10 y 23.12, los administradores actualmente pueden inhabilitar todas las llamadas a los extremos de la API 3. Esto te permitirá realizar pruebas en tu instancia para asegurarte de que no se produzcan interrupciones en los servicios o las aplicaciones integrados antes de la fecha límite del 14 de agosto. Para ello, puedes activar la opción "Deny API 3.x requests" en el panel Administrador de funciones heredadas.
Los clientes que alojan sus instancias de Looker y usan las versiones 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á que el botón de activación "Deny API 3.x requests" sea visible (Nota: Después de ejecutar el comando, deberás cambiar el botón de activación en el panel de funciones heredadas de la IU de Looker para detener las llamadas a la API 3):
export FF_DENY_API3=true
Preguntas frecuentes
No sé 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 en el panel Administrador > Consultas ahora muestra correctamente la versión de la 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 tareas de administración y desarrollo de LookML. Los clientes que tengan instancias que sigan la configuración de red recomendada pueden comunicarse con el equipo de asistencia de Looker para solicitar una exportación de estos datos.
Alojamos nuestra propia instancia. ¿Debo actualizar antes del 14 de agosto de 2023?
Si tu instancia es autohospedada, 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 realizar este trabajo lo antes posible para que puedas mantenerte en una versión compatible y obtener la mejor experiencia con Looker.
Mi instancia está alojada en Looker, pero en el programa de ESR. ¿Debo actualizar 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 realizar este trabajo lo antes posible para que no te falte tiempo cuando tu instancia esté programada para recibir esa actualización.
Leí la documentación, pero sigo teniendo 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.