Talend

Talend Management Console Public API – Décommissionnement de la version 2.6

Introduction

La console de gestion de Talend Cloud, que nous vous présentions dans un précédent article est entièrement « APIfiée ». Cela veut dire que tout ce que nous voyons et pouvons faire dessus peut se déclencher et se récupérer grâce à des appels API Rest. Cela permet par exemple d’automatiser des tâches (création d’utilisateur(s) et affectation des droits), de déléguer les actions, et de stocker dans des services externes les informations (par exemple pour faire du monitoring custom).

La documentation de ces API, que l’on appel plus communément le swagger, nous informe que cette version des API est dépréciée depuis la Release R2024-03 et qu’elle sera supprimée lors de la Release R2025-09.

Talend Management Console Public API Version

Si vous utilisez cette version d’API, vous avez donc un an pour la mettre à jour.

Quels sont les changements et impacts ? Comment ça fonctionne ? Que devez-vous faire ? Nous allons répondre à ces questions dans cet article.

Migration vers la nouvelle API

Changements d’URL des ressources

La procédure de migration de l’API v2.6 vers les nouveaux domaines et présentée dans le Guide Utilisateur des API Talend Cloud. Cette dernière fait la correspondance, par ressource entre les anciens chemins des URI et les nouveaux chemins.

Mapping ancienne et nouvelle API - Talend Management Console

Sur ce mapping, nous pouvons voir qu’il n’y a pas de grosse différence. Le changement entre l’ancienne et la nouvelle API est l’ajout d’un premier niveau dans l’URI, afin de catégoriser les routes : Security, Orchesration, Processing…

Changement de l’URL de base

L’URL de base diffère entre les deux API. :

Là ou dans l’ancienne URL était spécifiée la version de l’API, la nouvelle ne contient que la base de l’URL. Maintenant, La version de l’api est spécifiée dans l’entête de la requête.

Version de l’API

La politique de gestion des versions de l’API est décrite dans https://api.talend.com/api-versioning-policy/

La version se spécifie dans l’en tête avec la clé talend-version, avec comme pattern YYYY-MM, sachant que la version actuelle est la 2021-03

Si la version spécifiée n’existe pas, ou s’il n’y a pas de version précisée dans l’entête de la requête, alors c’est la version la plus ancienne qui est utilisée.

Restons connectés !

Inscrivez-vous à la newsletter DeciVision !

Soyez notifiés de nos derniers articles de blog, de nos prochains webinars et nos actualités !

Contenu des réponses d’appels des API

Quand est-il des données renvoyées par ces API ? Le format de la réponse a-t-il changé ?

Pour rappel, lorsque l’on appelle une API, celle-ci nous renvoi le résultat sous un format compréhensible et exploitable, principalement au format JSON, ou XML. Pour savoir si le format de la réponse de ces API a changé, nous avons développé un job Talend qui, par route, appelle l’ancienne et la nouvelle URI, et compare le résultat. Nous nous sommes basés sur une liste d’API que nous utilisons sur un projet interne à DeciVision.

Contenu réponses appels API

Pour donner plus de précision sur le fonctionnement du job Talend utilisé, celui :

  1. Lit un fichier CSV dans lequel sont stockés les anciennes et nouvelles URI dont le format est :
Lecture fichier CSV - URLs

Pour chaque ligne nous :

  1. Exécutons ces API et stockons les résultats dans 2 fichiers différents
  2. Comparons le contenu des 2 fichiers
  3. Ecrivons le résultat de la comparaison dans un dernier fichier de comparaison.

Après exécution du job, nous avons le résultat suivant :

Nous constatons que la réponse de ces appels API est différente pour 3 d’entre elles.

Nous analysons la différence manuellement afin d’évaluer les changements à apporter. Nous utilisons Notepad ++ avec les plugins JsonTools (Formater le json en triant les objets par ordre croissant) et Compare (comparaison des 2 fichiers).

Analyse des différences

Plans

Analyse des différences - Objets

L’analyse manuelle des résultats de /orchestration/executables/plans nous montre que

  • L’objet items.chart.stepdId est renommé en items.chart.id
  • L’objet items.chart.stepName est renommé en items.chart.name
  • L’objet items.chart.flow.stepdId est renommé en items.chart.flow.id
  • L’objet items.chart.flow.stepName est renommé en items.chart.flox.name
  • Un tableau est ajouté : chart.nextSteps.taskIds[]
  • L’objet items.chart.nextStep.flows.plan n’existe plus

Plan Exécution

Les objets de la réponse de l’API /processing/executables/plans/executions sont dans un ordre différent, mais ces objets et leur contenu est identique.

Plan exécution réponse API

Task Execution

Pour /processing/executables/tasks/exécutions Tout comme la réponse d’API sur l’exécution des plans, le résultat KO de comparaison est un faux positif, car seul l’ordre des objets de la réponse diffère. Les objets sont identiques.

En effet, dans la documentation de la nouvelle version, il est indiqué que la réponse JSON est une collection non ordonnée de champs, et que cet ordre peut changer. Il est donc fortement déconseillé de se fier à l’ordre de ces éléments.

CONCLUSION DE L’EXPERT

Si vous utilisez les API Public de la TMC Talend, vous allez devoir modifier l’URL de base, ainsi que les URI d’appels des ressources pour continuer à les utiliser. Les modifications ne sont pas importantes, mais il est nécessaire de les faire car la version 2.6 sera décommissionnée lors de la Release R2025-09, et de ne pas attendre son décommissionnement, afin d’évaluer les différences, comme nous vous avons présenté dans cet article de blog.

Il existe un nombre important d’API que nous ne les avons pas toutes analysées. Il se peut qu’il y ait des changements dans les appels de type GET, qui renvoient une réponse, comme pour l’API /orchestration/executables/plans

N’hésitez pas à solliciter DeciVision si vous avez des questions, vous souhaitez que l’on vous assiste sur ces migrations ou sur tout autre sujet autour de Talend ou de nos domaines d’expertise.

Inscrivez-vous gratuitement à notre prochaine démo sur la solution

VOUS SOUHAITEZ ÊTRE RAPPELÉ RAPIDEMENT ?

Laissez-nous vos coordonnées et nous vous recontactons dans les plus brefs délais !

Articles récents
Évènements à venir
Newsletter DeciVision

Soyez notifiés de nos derniers articles de blog, de nos prochains webinars et nos actualités !