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, les API 3.1 et 3.0 (3.x) sont désormais obsolètes. Les versions de l'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 sur Looker doivent mettre à niveau leurs applications pour utiliser les points de terminaison de l'API 4.0 au lieu des points de terminaison de l'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 offertes par les API obsolètes, et nous estimons que la mise à niveau de la version 3.x vers la version 4.0 devrait être simple pour la plupart des clients.

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

Chronologie

  • Avant 2022: l'API 3.0 est obsolète, la version 3.1 est à l'état stable et la version 4.0 est en version bêta
  • Mars 2022: l'API 4.0 entre dans l'état stable et est accessible à tous 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 vous concerne si vous utilisez l'API Looker via les SDK pris en charge par Looker, les SDK pris en charge par 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. Celles-ci sont décrites plus en détail ci-dessous. - Modifier votre code pour qu'il pointe vers la nouvelle API - Identifier l'utilisation des points de terminaison supprimés et remplacer ces références par l'API 4.0 équivalente - Mise à jour des valeurs d'identification 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 vers 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 utilisée pour envoyer 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 illustrant le début d'un script Python avec 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 apporté la modification à l'API 4.0, il est temps de tester votre code et de rechercher les modifications mentionnées ci-dessous.

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:

"Espace" points de terminaison ont été renommés. Utiliser des synonymes "dossier" points de terminaison.

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

"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 des SDK compatibles avec Looker à jour (23.0 et versions ultérieures) pour vous assurer que le type de vos applications est correct 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.

Nous conseillons aux développeurs qui utilisent des bibliothèques personnalisées de rechercher des références à ces champs dans leur code afin de s'assurer qu'ils sont correctement gérés.

Diff. API 4.0

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

Activer/Désactiver l'API 3.x via l'activation/désactivation de l'ancienne fonctionnalité

Pour les clients hébergés sur Looker et utilisant Looker 23.6, 23.8, 23.10 et 23.12, les administrateurs ont actuellement la possibilité de 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, vous pouvez activer l'option "Refuser les requêtes 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 imposera 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. Où 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. Les informations sur les tâches d'administration ou de développeur telles que la création d'utilisateurs ou les tâches de développement LookML/Git ne seront pas incluses.

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 suivent 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 sur Looker, mais dans le cadre du programme ESR. Dois-je effectuer la mise à niveau d'ici le 14 août 2023 ?

Vous devrez apporter les modifications nécessaires avant que votre instance ne soit mise à niveau vers la version d'août 2023 (version 23.14) ou vers une 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 je rencontre toujours des problèmes ou je ne sais pas comment procéder.

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