Using the GraphQL Connection Manager
GraphQL comes with an SSIS connection manager component that can be used to establish connections.
To add a connection to your SSIS package, right-click the Connection Manager area in your Visual Studio project, and choose "New Connection..." from the context menu. You will be prompted with the "Add SSIS Connection Manager" window. Select the "GraphQL (KingswaySoft)" item to add the new connection manager.
The GraphQL Connection Manager contains the following five pages to connect to the API server:
- General
- Authentication
- GraphQL Settings
- Proxy Settings
- Advanced Settings
General Page
The General page on the GraphQL Connection Manager allows you to specify the general settings for the connection.
- Server Information
-
- Base URL
-
The URL field represents the address of the web service to connect to.
- General Settings
-
- Timeout (secs)
-
The Timeout (secs) option allows you to specify a timeout value in seconds for the connection. The default value is 120 seconds. Specify 0 for infinite timeout.
- Chunk Size (in KB)
-
The chunk size to use when sending web requests. If a size of 0 is used chunking will not be used.
- API Throttling Rate
-
The API Throttling Rate will limit the number of requests that can be sent per unit of time. This is useful when accessing APIs with request limits. The Requests drop-down will allow you to specify whether the API Throttling Rate should be per second, minute or hour.
- Custom Headers
-
The Custom Headers grid will allow HTTP headers to be entered that will be used for each request.
- Test Connection button
-
The Test Connection button will open up a dialog that allows you to test the connection manager.
Authentication Page
The Authentication page allows you to specify the authentication mode that will be used with the connection.
There are 14 authentication modes available:
- AWS Signature
- Azure OAuth
- Basic
- Bearer Token
- Credentials (Basic, Digest, NTLM)
- Custom Token
- Google Service Account
- JWT
- Kerberos
- None
- OAuth1
- OAuth2
- WSSE
- Windows Integrated Authentication
Please refer to our Online Help Manual for HTTP Connection Manager to find an in-detail explanation for each of the above Authentication modes.
-
GraphQL Settings Page
-
The GraphQL Settings page on the GraphQL Connection Manager allows you to specify some specific and optional settings for the connection.
- Query Settings
-
- Max Metadata Query Depth
-
The Max Metadata Query Depth option allows you to specify how deep you would like to go to discover the metadata fields.
- Pagination Settings
-
- Pagination Strategy
-
The Pagination Strategy can be picked out of the three options:
- CursorBased
- None
- OffsetBased
- Also, there are some optional and specific properties that can be set based on the type of pagination you choose.
-
- Total Count Field Name
- Page Count Field Name
- Batch Size Argument Name
- Batch Size Argument Name
- Cursor Argument Name (Only with CursorBased pagination strategy)
- Next Page Cursor Field Name (Only with CursorBased pagination strategy)
- Record Offset Start Argument Name (Only with OffsetBased pagination strategy)
- Record Offset End Argument Name (Only with OffsetBased pagination strategy)
- Page Argument Name (Only with OffsetBased pagination strategy)
-
Proxy Settings Page
-
The Proxy Settings page on the GraphQL Connection Manager allows you to specify some advanced and optional settings for the connection.
- Proxy Server Settings
-
- Proxy Mode
-
The Proxy Mode option allows you to specify how you want to configure the proxy server setting. There are three options available.
- No Proxy
- Auto-detect (Using system-configured proxy)
- Manual
- Proxy Server
-
Using the Proxy Server option allows you to specify the name of the proxy server for the connection.
- Port
-
The Port option allows you to specify the port number of the proxy server for the connection.
- Username (Proxy Server Authentication)
-
The Username option (under Proxy Server Authentication) allows you to specify the proxy user account.
- Password (Proxy Server Authentication)
-
The Password option (under Proxy Server Authentication) allows you to specify the proxy user's password.
Note: The Proxy Password is not included in the connection manager's ConnectionString property by default. This is by design for security reasons. However, you can include it in your ConnectionString if you want to parameterize your connection manager. The format would be ProxyPassword=myProxyPassword; (make sure you have a semicolon as the last character). It can be anywhere in the ConnectionString.
Advanced Settings Page
The Advanced Settings page allows you to specify advanced settings for the connection.
- Client Certificate
-
- Certificate Location
-
Allows you to specify the location of the certificate that will be used. There are two options available:
- Store
- File System
- Certificate Thumbprint
-
Allows you to specify the thumbprint of the client certificate from the Certificate Store. Click the ellipses button to browse and select a certificate for the user's store. This option is available when you choose Store as Certificate Location.
- Certificate Chooser (...)
-
Click on the ellipsis button to open the certificate choose window.
- Path to Certificate
-
Provide the path to the certificate file to use for authentication. Click the ellipses button to browse their file system for the certificate. This option is available when you choose File System as Certificate Location.
- Certificate Password
-
Provide the password to the certificate file. This option is available when you choose File System as the Certificate Location.
-
Miscellaneous Settings
-
- Ignore Certificate Errors
-
This option can be used to ignore those SSL certificate errors when connecting to the target server.
Warning: Enabling the "Ignore Certificate Errors" option is generally NOT recommended, particularly for production instances. Unless there is a strong reason to believe the connection is secure - such as the network communication is only happening in an internal infrastructure, this option should be unchecked for best security.
Note: When this option is enabled, it applies to all HTTP-based SSL connections in the same job process.
- Retry on Intermittent Errors
-
The retry on intermittent errors determines if requests will be retried when there is an error. If this option is checked requests will be retried up to 3 times.
- Allow Auto Redirect(since v22.1)
-
The allow auto redirect option determines if requests will be automatically redirected when receiving a server-side redirect.
- Drop Authorization Header on Redirects(since v23.1)
-
Allows you to specify whether to drop the authorization header on any redirects.