Abandon de l'API Looker 3.x

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

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

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

Lors de notre annonce d'abandon en juin 2022, l'API 3.1 et l'API 3.0 (3.x) sont désormais obsolètes. Les versions d'API 3.x seront désactivées à partir de la version 23.14 de Looker, qui sera publiée 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. Toutes les fonctionnalités reposant sur des points de terminaison 3.x cesseront 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 une version 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 message ?

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 en savoir plus sur les modifications destructives susceptibles d'affecter votre application et découvrez

Que dois-je faire ?

Vous devez apporter les modifications suivantes à votre code. Ceux-ci 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 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 des points de terminaison de l'API 3.x

Afin de garantir la cohérence terminologique entre l'API Looker et l'UI Looker, l'API 4.0 remplace quelques points de terminaison obsolètes de l'API 3.x 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\"}"
    

"Page d'accueil" points de terminaison ont été supprimés. Utiliser le "tableau" des fonctionnalités étendues points de terminaison.

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

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

L'API 4.0 a mis à jour les types de certains champs d'identifiant, passant des nombres aux chaînes. Utilisez notre outil de vérification des différences entre les références d'API pour identifier 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 fournis par la communauté, y compris Kotlin, Swift, R, C# et Go, sont également compatibles 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 gérés correctement.

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'option d'activation/de désactivation de l'ancienne fonctionnalité

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 effectuer des tests sur votre instance pour vous assurer qu'aucun service ou application intégrés n'est interrompu 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 afin d'ajouter une variable d'environnement qui déclenche l'action "Refuser les requêtes API 3.x" activation/désactivation visible (remarque: après avoir exécuté la commande, vous devrez toujours changer de bouton dans le panneau des anciennes fonctionnalités de l'interface utilisateur Looker afin d'arrêter les appels de l'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" dans Admin > Le panneau "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 reporting interne contient des informations plus détaillées sur les requêtes API, y compris celles utilisées pour effectuer des tâches d'administration et de développement LookML. Les clients dont les instances respectent 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 mise à niveau d'ici le 14 août 2023 ?

Si votre instance est auto-hébergée, vous devez apporter les modifications nécessaires avant de passer à la version d'août 2023 (version 23.14) ou à toute version ultérieure. Nous vous recommandons de commencer ce travail dès que possible, afin de pouvoir rester sur une version prise en charge et bénéficier de la meilleure expérience possible 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 ce travail dès que possible, afin de ne pas être pressé par le temps au moment où votre instance devrait recevoir cette 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.