image
image
image
image
image
image

Azure data factory oauth2 token

Dans ce premier billet, je vais voir comment appliquer l’authentification oauth2 pour ingérer les données des API REST.

OAUTH2 est devenu un standard de facto dans les services cloud et SaaS, il est largement utilisé par Twitter, Microsoft Azure, Amazon. Mon exemple est basé sur l’API en ligne EXACT. L’objectif final de la série de blogs est de configurer un pipeline entier qui ingérera des données à partir d’une API REST et les chargera dans un lac de données.

La structure d’un pipeline

La forme la plus simple d’un pipeline contient deux activités :

  • Activité Web :  Effectue un appel POST pour obtenir un jeton d’authentification
  • Activité de copie :  Récupère les données de l’API et les charge dans un service

lié à la destination Dans cet article, nous nous concentrerons sur la mise en œuvre de la première activité – l’activité Web qui doit faire petit mais Partie importante du travail : authentifiez-vous et obtenez le jeton d’accès.

La toute

première étape consiste à générer une chaîne d’authentification qui va être envoyée en tant que corps de la demande afin d’obtenir un jeton d’accès

La chaîne a un format :

Pour obtenir une chaîne complète, remplacez les espaces réservés {client_id}, {client_secret} et {refresh_token} par des valeurs réelles afin que la variante finale ait un aspect :

Cette valeur sera utilisée ultérieurement dans une requête web.

Implémentation de l’activité Web « Login »

Étape 1 : Créez un pipeline et ajoutez une tâche d’activité Web
  1. Créez un nouveau pipeline et donnez un nom « loadEOLRestApi » Ouvrez la
  2. boîte à outils « Activités », développez une section « Général » et déposez « Web » dans un canevas de pipeline
  3. Donnez un nom « Connexion » à une activité Web qui vient d’être ajoutée

Le Le canevas de création doit avoir un tel aspect :

Étape 2 : Configurer une tâche d’activité Web

Cliquez sur une activité de connexion et ouvrez l’onglet « Paramètres ». Remplissez ensuite les champs suivants avec les valeurs suivantes :

  1. URL : Une url pour effectuer l’authentification et obtenir un jeton (1). Dans mon cas, il s’agit de : https://start.exactonline.nl/api/oauth2/token
  2. Méthode : POST (2)
  3. Ajouter un nouvel en-tête (3) :
    • Nom : Content-Type
    • Valeur : application/x-www-form-urlencoded
  4. Utilisez une chaîne d’authentification précédemment générée dans un champ Corps (4) :
Étape 3. Effectuer une exécution de test :
  1. Cliquer sur un bouton Déboguer (1)
  2. Ouvrir un onglet Sortie d’un pipeline (2)
  3. Cliquer sur un bouton « Sortie » (3)
  4. La fenêtre de sortie affichera une réponse JSON (4). Plus tard dans un pipeline, la valeur « access_token » sera utilisée comme clé pour accéder aux méthodes d’API sous-jacentes

Derniers mots

: Le premier élément du pipeline – un appel Web pour procéder à l’authentification vient d’être implémenté.

Il envoie une requête sous la forme d’une chaîne spécialement préparée à une API web distante et reçoit une sortie au format JSON. La sortie contient quelques paires clé-valeur, telles que access_token, token_type, expires_in, etc., qui seront utilisées ultérieurement par une activité de copie.

Étant donné que la sortie est au format JSON, d’autres activités de pipeline peuvent accéder à un jeton à l’aide d’une expression de cette manière :

Le prochain billet va se concentrer sur l’implémentation d’un deuxième élément d’un pipeline – Activité de copie : API Azure Data Factory et REST – Configuration d’une activité de copie.

Merci beaucoup d’avoir lu.