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
- Connectez-vous à DataSync.
- Depuis l'écran d'accueil, sélectionnez Connexions.
- À côté de Connexions de la source, cliquez sur Nouveau.
- Sélectionnez GraphQL.
- Complétez toutes les propriétés de connexion requises.
- (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.
- Configurez les paramètres avancés selon votre environnement, notamment le Type de suivi.
- Cliquez sur Enregistrer.
Propriétés de la connexion
| Propriété | Description |
|---|---|
| Description | Nom unique attribué à la connexion. Exemple : GraphQL. |
| URL | Adresse 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'authentification | Méthode d'authentification utilisée pour accéder à l'API.
|
| URL de rappel | OAuth 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 client | OAuth 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 client | OAuth 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'autorisation | OAuth 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ès | OAuth 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 jeton | OAuth 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ès | Autorisations 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'utilisateur | Basic uniquement Identifiant de connexion disposant des permissions API requises. Exemple : User123. |
| Mot de passe | Basic uniquement Mot de passe associé à ce compte. Exemple : P@ssw0rd!. |
| Convertir toutes les dates et heures en GMT | Convertit 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 page | Nombre 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 pooling | Active 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 pool | Temps d'inactivité maximal en secondes avant qu'une connexion soit retournée au pool. |
| Taille maximale du pool | Nombre maximum de connexions autorisées dans le pool en même temps. |
| Temps d'attente du pool | Temps 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.
|
| Délai d'attente | Duré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 |
|---|---|
HTTPHeaders | En-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>. |
ExpandTablesDepth | Contrôle le nombre de niveaux de listes imbriquées développés lors de la détection des tables.
|
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ètre | Description |
|---|---|
| Type de suivi | Méthode de suivi des modifications de données : Aucun ou Date. |
| Region | Paramètre régional du connecteur, si la configuration l'exige. |
| Fuseau horaire | Fuseau horaire correspondant à l'environnement GraphQL. |
| Décalage de temps | Décalage d'actualisation en secondes pour compenser les écarts de synchronisation lors de la sélection des enregistrements. Minimum 0, maximum 3600. |
| Taille du lot | Nombre 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

Exemple de configuration avec OAuth PKCE
