Abandon de l'API Looker 3.x

L'API 3.x sera désactivée en août 2023

Nous avions précédemment annoncé que ce changement serait appliqué dans la version de juillet 2023. Suite aux commentaires de nos clients, nous avons repoussé cette échéance à août 2023 pour faciliter cette transition. Fermez cette boîte de dialogue pour en savoir plus.

Après la sortie de l'API 4.0 en disponibilité générale dans Looker 22.4, nous avons annoncé l'abandon de notre API 3.1, en plus de notre API 3.0 déjà obsolète.

Depuis notre annonce d'abandon en juin 2022, l'API 3.1 et l'API 3.0, appelées 3.x, sont obsolètes. Les versions d'API 3.x seront désactivées à partir de la version 23.14 de Looker, en août 2023.

Cette mise à niveau sera déployée sur les instances hébergées par Looker pendant les heures de maintenance entre le 14 et le 24 août. Par conséquent, toutes les instances hébergées par Looker doivent mettre à niveau leurs applications pour utiliser les points de terminaison d'API 4.0 au lieu des points de terminaison d'API 3.x avant le 14 août 2023. Toute fonctionnalité reposant sur des points de terminaison 3.x cessera de fonctionner après ce changement.

Si votre instance est auto-hébergée, vous devez mettre à niveau vos applications avant de mettre à niveau votre instance Looker vers la version 23.14 ou ultérieure.

L'API 4.0 couvre entièrement les fonctionnalités proposées par les API obsolètes. Nous prévoyons que la migration de la version 3.x vers la version 4.0 sera simple pour la plupart des clients.

Les clients qui ne parviennent pas à passer à l'API 4.0 doivent contacter l'assistance Looker.

Chronologie

  • Avant 2022: l'API 3.0 est obsolète, la version 3.1 est stable et la version 4.0 est en version bêta
  • Mars 2022: l'API 4.0 passe en version stable et est disponible en disponibilité générale dans Looker 22.4
  • Juin 2022: annonce de l'abandon de l'API 3.1
  • Août 2023: l'API 3.x sera désactivée dans Looker

À qui s'adresse ce document ?

Ce document s'adresse à vous si vous utilisez l'API Looker via des SDK compatibles avec Looker, des SDK compatibles avec la communauté ou l'API elle-même. Poursuivez votre lecture pour découvrir les modifications destructives susceptibles d'affecter votre application et

Que dois-je faire ?

Vous devez apporter les modifications suivantes à votre code. Ils sont décrits plus en détail plus loin sur cette page.

  • Modifiez votre code pour qu'il pointe vers la nouvelle API.
  • Identifiez l'utilisation des points de terminaison supprimés et remplacez ces références par l'équivalent de l'API 4.0.
  • Mettez à jour les valeurs d'ID qui étaient auparavant exprimées sous forme de nombres pour qu'elles soient exprimées sous forme de chaînes.

Détails de la migration de l'API 4.0

Modifier votre code pour qu'il pointe vers la nouvelle API

Lorsque vous effectuez des appels d'API directement via la ligne de commande ou des programmes tels que Postman, vous devez ajuster l'URL que vous utilisez pour effectuer la requête.

### 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 vous utilisez l'un de nos SDK, vous devez vous assurer d'initialiser la bonne version du SDK. Voici un exemple de base de début de script Python utilisant notre SDK dans les deux versions:

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

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

Une fois que vous avez effectué la modification dans l'API 4.0, il est temps de tester votre code et de vérifier les modifications suivantes.

Remplacements de points de terminaison de l'API 3.x

Afin de maintenir la cohérence de la terminologie entre l'API Looker et l'UI Looker, l'API 4.0 remplace quelques points de terminaison de l'API 3.x obsolètes par des points de terminaison équivalents ou améliorés, listés ci-dessous:

Les points de terminaison "Space" ont été renommés. Utilisez plutôt les points de terminaison "Folder" synonymes.

Exemple de SDK 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"
      )
    )
    

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

Les points de terminaison "Homepage" ont été supprimés. Utilisez plutôt les points de terminaison "board" à fonctionnalité étendue.

Exemple de SDK 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"
      )
    )
    

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

Types de champs d'ID de rupture de l'API 4.0

L'API 4.0 a remplacé les types de certains champs d'ID (numéros) par des chaînes. Utilisez notre outil de comparaison de la documentation de référence de l'API pour déterminer les champs d'ID qui ont changé entre les versions 3.1 et 4.0. Utilisez les SDK de langage compatibles avec Looker à jour (version 23.0 et ultérieure) pour vous assurer que vos applications sont correctement saisies pendant et après la migration. La plupart des SDK de langages gérés par la communauté, y compris Kotlin, Swift, R, C# et Go, fonctionnent déjà avec les types mis à jour.

Les développeurs qui utilisent des bibliothèques personnalisées doivent rechercher dans leur code des références à ces champs pour s'assurer qu'ils sont correctement gérés.

Différences entre l'API 4.0

En plus des consignes listées sur cette page de documentation, l'explorateur d'API Looker fournit une liste complète de toutes les différences entre les API 3.x et l'API 4.0.

Désactivation/Activation de l'API 3.x via l'ancien bouton d'activation/de désactivation

Pour les clients hébergés par Looker qui utilisent Looker 23.6, 23.8, 23.10 et 23.12, les administrateurs peuvent actuellement désactiver tous les appels aux points de terminaison de l'API 3. Vous pourrez ainsi tester votre instance pour vous assurer qu'aucun service ou application intégré ne plante avant la date limite du 14 août. Pour ce faire, activez l'option "Refuser les requêtes de l'API 3.x" dans le panneau d'administration des anciennes fonctionnalités.

Les clients auto-hébergés qui utilisent Looker 23.6, 23.8, 23.10 et 23.12 peuvent exécuter la commande shell suivante avant de démarrer Looker pour ajouter une variable d'environnement qui rendra le bouton "Refuser les requêtes API 3.x" visible (remarque: après avoir exécuté la commande, vous devrez toujours activer le bouton dans le panneau "Anciens éléments" de l'interface utilisateur de Looker pour arrêter les appels API 3):

export FF_DENY_API3=true

Questions fréquentes

Je ne sais pas si des appels d'API 3.x sont effectués sur mon instance. Comment puis-je trouver ces informations ?

À partir de Looker 23.8, la colonne "Source" du panneau "Administration > Requêtes" affiche désormais correctement la version de l'API (v3 ou v4) pour les requêtes lancées à partir de l'API Looker. Cela n'inclut pas les informations sur les tâches d'administration ou de développement, telles que la création d'utilisateurs ou les tâches de développement LookML/Git.

Notre service de création de rapports interne fournit des informations plus détaillées sur les requêtes d'API, y compris celles utilisées pour effectuer des tâches d'administration et de développement LookML. Les clients disposant d'instances conformes à la configuration réseau recommandée peuvent contacter l'assistance Looker pour demander l'exportation de ces données.

J'héberge ma propre instance. Dois-je effectuer la conversion d'ici le 14 août 2023 ?

Si votre instance est auto-hébergée, vous devrez apporter les modifications avant de passer à la version d'août 2023 (version 23.14) ou à toute version ultérieure. Nous vous recommandons de commencer à effectuer cette tâche dès que possible afin de pouvoir conserver une version compatible pour une expérience optimale avec Looker.

Mon instance est hébergée par Looker, mais dans le programme ESR. Dois-je effectuer la conversion d'ici le 14 août 2023 ?

Vous devrez apporter les modifications avant que votre instance ne soit mise à niveau vers la version d'août 2023 (version 23.14) ou toute version ultérieure. Nous vous recommandons de commencer à effectuer cette tâche dès que possible afin de ne pas être pressé lorsque votre instance sera mise à niveau.

J'ai lu la documentation, mais le problème persiste ou je ne sais pas comment procéder.

Les clients qui ne parviennent pas à passer à l'API 4.0 doivent contacter l'assistance Looker.