GraphQL Source Connector
The GraphQL source connector in DataSync lets you retrieve data from GraphQL for loading or synchronizing in your data warehouse. After creating all required source connections, configure your destination source to complete the connection setup.
Create a source connection in DataSync
- Log in to DataSync.
- From the welcome screen, select Connections.
- Next to Source Connections, click New.
- Select GraphQL.
- In the Connection Properties panel, enter the connection properties.
- (Optional) In the Additional Connection Properties panel, select Add property and enter the parameters for each property.
- In the Advanced Settings panel, configure the settings, including the Tracking Type and other values according to your requirements.
- Click Save.
Parameters
Connection properties
| Parameter | Description |
|---|---|
| Description | Unique name for the connection. Example: GraphQL |
| URL | Address of the GraphQL API endpoint. This must represent the specific GraphQL service endpoint, which may differ from the base API URL. The value is validated when you create the connection. Example: https://api.example.com/graphql |
| Authenticatioon Mode | Authentication scheme used to access the API. Selection determines additional connection string options and how they appear in the configuration:
|
| Username | Account username with required API permissions. Example: User123 |
| Password | Password for the specified username. Example: P@ssw0rd! |
| Callback URL | Redirect URL assigned automatically by DataSync. Some APIs require you to add this value to an authorized list of callback URLs in application settings or the configuration portal. |
| Client ID | Application identifier assigned during registration. Found in your application settings or configuration portal. Example: client-id-987654 |
| Client Secret | Confidential value known only to the client and authorization server. Available in your application settings or configuration portal. Example: mySuperSecretValue |
| Authorization URL | URL that starts the authorization process. Available in the API documentation. Example: https://auth.example.com/oauth2/authorize |
| Access Token URL | URL used to exchange an authorization code for an access token. Available in the API documentation. Example: https://auth.example.com/oauth2/token |
| Refresh Token URL | URL used to exchange a refresh token for a new access token. Available in the API documentation. Example: https://auth.example.com/oauth2/refresh |
| Scope | Access permissions requested during connection. Verify access rights with your configuration portal. Example: read:users write:projects |
| Convert all dates and times to GMT | Conversion setting for all date and time values from the API to GMT. |
| Page size | Maximum results to return per page when client-side paging is enabled. Larger values return more rows per page but may cause timeouts. |
| Enable Pooling | Connection pooling option for performance. |
| Pool idle timeout | Maximum idle time for connections before returning them to the pool, in seconds. |
| Max Pool Size | Maximum number of connections allowed in the pool. |
| Pool wait time | Maximum wait time for connection allocation before error is thrown, in seconds. |
| Verbosity |
|
| Timeout | Time in seconds to wait for connection opening and query execution before timeout. |
Additional connection properties
Additional connection string properties not specified in the Connection Properties panel. For each property added, you can choose Visible or Encrypted. Selecting Encrypted hides the value from the interface and stores it encrypted in the back end, such as when defining passwords.
| Property | Value |
|---|---|
HTTPHeaders | Custom HTTP headers required by the API. Add a separate line for each header to include in API requests. Example: Authorization: Bearer <token> |
ExpandTablesDepth | Depth setting for expanding nested lists during table discovery. Match the value to the nesting level needed for your GraphQL data model. Controls how many levels of nested lists are included:
|
Advanced settings
Advanced settings control how the GraphQL connector tracks changes, handles regional and time configuration, and processes data batches during extraction. These options allow fine‑tuning for performance and accuracy, and should be configured according to your system environment and operational requirements.
| Setting | Description |
|---|---|
| Tracking Type | Method for tracking changes: None or Date. |
| Region | Region setting for the connector, if required by your setup. |
| Time Zone | Time zone matching the GraphQL application server. |
| Time Offset | Refresh offset in seconds to compensate for timing issues in record selection. Minimum value is 0; maximum is 3600 seconds. |
| Batch Size | Quantity of records processed in each batch during extraction. Larger batch sizes increase memory usage but can improve performance up to a point. The default value is 2000 and the maximum should not exceed 10000 records. Adjust according to your network speed and disk performance; in most cases the default (2000) works best. |