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 Connection Manager (KingswaySoft)" item to add the new connection manager.

new connection

Add GraphQL connection manager.png

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 general settings for the connection.

GraphQL Connection Manager.png

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.

GraphQL Connection Manager - GraphQL Settings.png

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.

GraphQL Connection Manager - Proxy Settings.png

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.

GraphQL Connection Manager - Advanced Settings.png

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.

HTTP Connection manager - certificate chooser.png

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.