Aller au contenu principal

Connecteur source GraphQL

Le connecteur source GraphQL permet à DataSync de récupérer les données d'une API GraphQL et de les charger dans un entrepôt de données. DataSync propose quatre modes d'authentification pour GraphQL : OAuth 2.0, OAuth PKCE, Basic et NoAuth.

Une fois la connexion source créée, configurez la connexion de destination pour finaliser l'installation.

Créer la connexion source dans DataSync

  1. Connectez-vous à DataSync.
  2. Depuis l'écran d'accueil, sélectionnez Connexions.
  3. À côté de Connexions de la source, cliquez sur Nouveau.
  4. Sélectionnez GraphQL.
  5. Complétez toutes les propriétés de connexion requises.
  6. (Facultatif) Dans le panneau Autres propriétés de la connexion, cliquez sur Ajouter une propriété et définissez les paramètres supplémentaires nécessaires.
  7. Configurez les paramètres avancés selon votre environnement, notamment le Type de suivi.
  8. Cliquez sur Enregistrer.

Propriétés de la connexion

PropriétéDescription
DescriptionNom unique attribué à la connexion. Exemple : GraphQL.
URLAdresse du point de terminaison de l'API GraphQL. Doit correspondre au point de terminaison spécifique du service GraphQL, qui peut différer de l'URL de base de l'API. Exemple : https://api.example.com/graphql.
Mode d'authentificationMéthode d'authentification utilisée pour accéder à l'API.
  • OAuth2 pour le flux OAuth 2.0 standard.
  • OAuthPKCE pour le flux OAuth PKCE.
  • Basic pour une authentification par nom d'utilisateur et mot de passe.
  • NoAuth pour les API ne nécessitant aucune authentification.
URL de rappelOAuth uniquement URL de redirection générée automatiquement par DataSync. Certaines API exigent que cette URL soit ajoutée à une liste d'URL de rappel autorisées dans les paramètres de l'application.
ID clientOAuth uniquement Identifiant de l'application attribué lors de son enregistrement. Disponible dans les paramètres de l'application ou le portail de configuration. Exemple : client-id-987654.
Secret clientOAuth uniquement Valeur confidentielle connue uniquement par le client et le serveur d'autorisation. Disponible dans les paramètres de l'application ou le portail de configuration. Exemple : mySecretValue.
URL d'autorisationOAuth uniquement URL qui démarre le processus d'autorisation. Disponible dans la documentation de l'API. Exemple : https://auth.example.com/oauth2/authorize.
URL du jeton d'accèsOAuth uniquement URL utilisée pour échanger un code d'autorisation contre un jeton d'accès. Disponible dans la documentation de l'API. Exemple : https://auth.example.com/oauth2/token.
URL de rafraîchissement du jetonOAuth uniquement URL utilisée pour échanger un jeton de rafraîchissement contre un nouveau jeton d'accès. Disponible dans la documentation de l'API. Exemple : https://auth.example.com/oauth2/refresh.
Privilèges d'accèsAutorisations d'accès demandées lors de l'authentification. Vérifier les portées requises dans les paramètres de l'application. Exemple : read:users write:projects.
Nom d'utilisateurBasic uniquement Identifiant de connexion disposant des permissions API requises. Exemple : User123.
Mot de passeBasic uniquement Mot de passe associé à ce compte. Exemple : P@ssw0rd!.
Convertir toutes les dates et heures en GMTConvertit en GMT toutes les valeurs de date et d'heure retournées par l'API. Recommandé lorsque le service GraphQL s'exécute dans un fuseau horaire différent et que des horodatages cohérents sont nécessaires.
Taille de pageNombre maximum de résultats retournés par page. Des valeurs plus élevées retournent davantage de lignes par page mais augmentent le risque d'expiration.
Activer le poolingActive le pooling de connexions, qui conserve un ensemble de connexions ouvertes et les réutilise entre les extractions au lieu d'ouvrir une nouvelle connexion à chaque fois. Réduit la charge et améliore les performances lorsque plusieurs extractions s'exécutent en même temps.
Délai d'inactivité du poolTemps d'inactivité maximal en secondes avant qu'une connexion soit retournée au pool.
Taille maximale du poolNombre maximum de connexions autorisées dans le pool en même temps.
Temps d'attente du poolTemps d'attente maximal en secondes pour obtenir une connexion avant qu'une erreur ne soit générée.
VerbositéContrôle le niveau de détail écrit dans le journal. Chaque niveau inclut tout ce qui précède plus des informations supplémentaires.

  • 1 enregistre les requêtes, les nombres de lignes, les heures de début et de fin d'exécution ainsi que les erreurs.
  • 2 ajoute les requêtes de cache et les en-têtes HTTP.
  • 3 ajoute les corps de requête et de réponse.
  • 4 ajoute la communication au niveau du transport.
  • 5 ajoute toutes les commandes d'interface.
Délai d'attenteDurée en secondes avant l'expiration d'une tentative de connexion ou d'une exécution de requête.

Autres propriétés de la connexion

Ce panneau permet d'ajouter des propriétés de chaîne de connexion qui ne figurent pas dans le panneau Propriétés de la connexion. Pour les valeurs sensibles comme les mots de passe, choisissez le type Crypté. La valeur reste alors masquée dans l'interface et stockée de façon chiffrée côté serveur.

PropriétéDescription
HTTPHeadersEn-têtes HTTP personnalisés requis par l'API. Ajouter une entrée distincte pour chaque en-tête, en sélectionnant HTTP Headers comme type. Exemple : Authorization: Bearer <token>.
ExpandTablesDepthContrôle le nombre de niveaux de listes imbriquées développés lors de la détection des tables.
  • 0 aucune liste imbriquée n'est développée.
  • 1 développe les listes de même niveau, mais pas celles imbriquées.
  • n développe les listes jusqu'à la profondeur spécifiée.
À définir selon le niveau d'imbrication du modèle de données GraphQL.

Paramètres avancés

Ces paramètres déterminent la façon dont le connecteur suit les modifications de données, gère l'heure et la région, et traite les enregistrements pendant l'extraction. Ajustez-les selon votre environnement GraphQL afin que les résultats restent exacts et cohérents.

ParamètreDescription
Type de suiviMéthode de suivi des modifications de données : Aucun ou Date.
RegionParamètre régional du connecteur, si la configuration l'exige.
Fuseau horaireFuseau horaire correspondant à l'environnement GraphQL.
Décalage de tempsDécalage d'actualisation en secondes pour compenser les écarts de synchronisation lors de la sélection des enregistrements. Minimum 0, maximum 3600.
Taille du lotNombre d'enregistrements traités par lot lors de l'extraction. Des lots plus grands peuvent améliorer les performances mais consomment davantage de mémoire. La valeur par défaut est 2000, le maximum est 10000. À ajuster selon la vitesse du réseau et les performances du disque. La valeur par défaut convient dans la plupart des cas.

Exemple de configuration avec authentification Basic

Connexion source GraphQL avec authentification Basic dans DataSync
Connexion source GraphQL avec authentification Basic entièrement configurée dans DataSync, avec toutes les propriétés et tous les paramètres complétés.

Exemple de configuration avec OAuth PKCE

Connexion source GraphQL avec OAuth PKCE dans DataSync
Connexion source GraphQL avec OAuth PKCE entièrement configurée dans DataSync, avec toutes les propriétés et tous les paramètres complétés.