Importer des données depuis une API REST
Une fois que vous avez trouvé HTTP REST dans le store, cliquez sur Select et vous pourrez voir l'écran de configuration comme indiqué ci-dessous
Objectif
REST est un protocole d'application standard qui vous permet de demander des informations à n'importe quelle API compatible et d'importer des données depuis la réponse JSON
Ajouter une source HTTP REST sur la Data Platform
Vue d'ensemble de l'écran de configuration
Une fois que vous avez trouvé HTTP REST dans le store, cliquez sur Select et vous pourrez voir l'écran de configuration comme indiqué ci-dessous.
Fichiers et tailles pris en charge
Le connecteur HTTP REST prend uniquement en charge les réponses de type JSON pour le moment.
De plus, il existe certaines limites de taille de fichier lors du lancement d'un job d'extraction des métadonnées. En particulier pour un :
- Extrait complet : ~900 Mo
- Extrait échantillon : ~2,5 Go
Configurer votre source
Lors de la création de la source, vous devrez saisir les informations suivantes :
Informations sur l'API
URL : L'URL de base ou l'adresse de l'API que vous souhaitez requêter (vous enregistrerez les endpoints plus tard)
SSL verify : Activez cette option si vous souhaitez configurer une connexion sécurisée
Authentication mode : Activez cette option si votre API nécessite une authentification (voir ci-dessous)
Informations d'authentification
Si votre API REST nécessite une authentification, configurez-la dans la section Authentication en choisissant un mode d'authentification. Vous pouvez également ignorer cette étape si l'API ne nécessite aucune authentification.
Choisissez la méthode souhaitée (POST ou GET), suivie de l'URL sur laquelle vous devez vous authentifier (par exemple http://localhost/auth).
Ensuite, saisissez le token path à utiliser dans la réponse et décidez si vous souhaitez conserver le token dans les cookies, c'est-à-dire stocker la session d'authentification dans les cookies.
Enfin, configurez les paramètres optionnels ci-dessous :
- Body : ajoutez un corps optionnel de type json, form-data, form-urlencoded ou inline
- Query : ajoutez vos requêtes à la demande
- Header : ajoutez les en-têtes de votre requête
Si vous devez récupérer un token depuis la réponse d'authentification, vous devez indiquer dans quelle clé du JSON de réponse le token est stocké. (généralement : token)
Une fois ces informations ajoutées, cliquez sur Connect pour établir la connexion avec votre API et passer à l'enregistrement des endpoints.
Spécifier les endpoints pour charger les données
Sur la Data Platform, chaque endpoint enregistré correspondra à un objet source de données, que vous pourrez charger dans une table distincte.
Les endpoints de votre API peuvent être ajoutés depuis la section Endpoints to connect. Par défaut, il n'y en a aucun et vous devez les ajouter manuellement.
Les paramètres suivants peuvent être configurés pour chaque endpoint :
- Query : ajoutez vos requêtes à la demande pour cet endpoint
- Header : ajoutez les en-têtes de votre requête pour cet endpoint
- Options : configurez des options supplémentaires telles que le timeout, la pagination, ou le nom de la table qui contiendra les données de cet endpoint
Des variables peuvent être injectées dans les options mentionnées ci-dessus. Consultez la référence ci-dessous pour plus d'informations.
Vous pouvez importer votre endpoint préconfiguré depuis une requête Curl en utilisant le Advanced mode dans un nouvel endpoint.
Injecter des variables
Authentication token
Si vous avez activé l'endpoint d'authentification et devez réutiliser le token obtenu précédemment, vous pouvez saisir $token dans la valeur de la clé requise dans la section Query, ou dans la section Header, la section Body ou l'URL.
Valeurs de segmentation
Cette section décrit comment utiliser des espaces réservés de variables au sein des endpoints à des fins de personnalisation. Ces espaces réservés permettent aux utilisateurs de spécifier des valeurs dynamiquement, renforçant la flexibilité et l'adaptabilité du système.
Les variables sont encadrées par des signes pourcentage (%) et suivent le format : (%VARIABLE_TYPE|DEFAULT_VALUE%).
VARIABLE_TYPE : Décrit le type de variable. DEFAULT_VALUE : Représente la valeur par défaut qui remplacera la variable si elle n'est pas fournie par l'utilisateur.
Types de variables :
segmentationValue : Ce type de variable remplace l'espace réservé par la première valeur de segmentation. Format : Numérique ou Texte. Exemple : (%segmentationValue|1%)
segmentationValues : Ce type de variable remplace l'espace réservé par toutes les valeurs de segmentation, formatées sous forme de tableau. Exemple : (%segmentationValues|[1,2,3]%)
Les utilisateurs peuvent intégrer ces variables dans les composants suivants d'un endpoint :
URL : Les variables peuvent être utilisées dans l'URL pour insérer des valeurs dynamiquement. Exemple : GET /api/data/(%segmentationValue|1%)/details
Body (Payload) : Lors de l'envoi d'un payload dans une requête, des variables peuvent être utilisées pour inclure des valeurs dynamiques. Exemple :
json
{ "segmentationValue": "(%segmentationValue|1%)", "filter": "(%segmentationValues|[]%)" }
Query Parameters : Des variables peuvent être incluses dans les paramètres de requête pour personnaliser la demande. Exemple : GET /api/data?segment=%segmentationValue|1%&filters=%segmentationValues|[]%
Dates relatives
Si vous devez utiliser un paramètre de date relatif au jour de la requête, vous pouvez utiliser le joker spécial suivant composé de 2 parties séparées par une barre verticale | :
(%now|date%) sera remplacé par la date à laquelle la requête a lieu (au format YYYY-MM-DD)
Valeurs possibles avant la barre verticale :
(%dateMin|: utilisera la date min configurée dans les paramètres du workflow DPE(%dateMax|: utilisera la date max configurée dans les paramètres du workflow DPE%now|: utilisera la date et l'heure actuelles au moment de l'exécution
Valeurs possibles après la barre verticale pour indiquer le format de date :
|date%): au formatYYYY-MM-DD|datetime%): au formatYYYY-MM-DD HH:mm:SS|timestamp%): sous forme de timestamp UNIX|%Y-%m-%d%): selon votre format personnalisé
Pour en savoir plus sur le format personnalisé, veuillez consulter la documentation Python datetime.
N'oubliez pas de nommer votre source avant de la créer. Le nom technique ne peut pas être modifié après la création de la source et sera utilisé pour essayer d'ouvrir la source à l'aide du SDK Data Platform.
Aller plus loin
Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.
Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe la Data Platform sur le canal Discord dédié.
Si vous avez besoin d'une assistance concernant vos services OVHcloud, créez une demande depuis notre centre d'aide.
Rejoignez notre communauté d'utilisateurs.