Using the Firestore Connection Manager
The Firestore Connection Manager is an SSIS connection manager that can be used to establish connections with Firestore.
To add a new connection, right-click the Connection Manager area in your Visual Studio project and choose "New Connection..." from the context menu. You will be prompted the "Add SSIS Connection Manager" window. Select the "Firestore (KingswaySoft)" item to add a new Firestore Connection Manager.
The Firestore Connection Manager contains the following 2 configuration pages:
- General
- Advanced Settings
General Page
The General page allows you to specify connection properties and login credentials to Firestore.
- Project ID
-
The Project ID option allows you to specify the Project ID which is a unique identifier for your Firestore project.
- Authentication Mode
-
The Authentication Mode option allows you to specify how you want to authenticate to your Firestore Service. Available options are:
- Authorization Code
- Service Account (server-to-server authentication)
-
- Generate New Token File (Available only when Authorization Code is selected)
-
This button will open a dialog that allows you to log in to the service endpoint and authorize your app to generate a new token.
- Firestore Service
-
The Firestore Service you are trying to connect to.
- Authorization Type
-
The App which will be used to connect to your Firestore Service. Available options are:
- KingswaySoft: The Connection Manager will use the Client ID and Secret that is provided by KingswaySoft for your convenience when setting up the connection, it should NEVER be used for production purposes.
- My Own App: Selecting this option will allow you to use your own Client ID and Secret to connect to Firestore Services.
- App Info
-
- Client ID
-
The Client ID option allows you to specify the unique ID which identifies the application making the request.
- Client Secret
-
The Client Secret option allows you to specify the secret belonging to your Firestore Service App ID.
- Redirect Url
-
The Redirect Url option allows you to specify the Redirect Url which was used during the Firestore App creation in order to complete the authentication process.
- Scope
-
The Scope from Firestore allows you to set the scopes required for your app.
- PKCE
-
The PKCE option may be enabled for PKCE App Type.
- Sign In & Authorize
-
- Use Default Browser to Sign In
-
When this option is checked the Sign In & Authorize button will open your default web browser in order to complete the OAuth authentication. When this option is unchecked, the Sign In & Authorize button will complete the entire OAuth authentication process inside of the toolkit.
- Sign In & Authorize Button
-
This button allows you to log in to the service endpoint and authorize your app to generate a token.
-
Warning: By default, you are using the Firestore API authorization information (Client ID, Client Secret & Developer Token) provided by KingswaySoft, which is provided for your convenience when setting up the connection, and it should NEVER be used for production purposes.
- Key File Type (Available only when Service Account is selected)
-
Specify the private key file format that was downloaded from Firestore, available options are:
- JSON
- P12
-
-
- Service Account JSON
-
- JSON Key File Path (Available only when Service Account is selected)
-
The option allows you to specify the location of the JSON file. Support is available both for file system path and Azure Blob storage Shared Access signature (SAS) URL.
- Service Account (Available only when Service Account is selected)
-
Displays the Service Account for the service you are connecting to.
- Client ID (Available only when Service Account is selected)
-
Displays the Client ID of the account which is the unique ID that identifies the application.
-
-
- Service Account (Available only when Service Account is selected)
-
The Service Account option allows you to specify the account which will be used to connect to your Firestore service.
- Certificate Location (Available only when Service Account is selected)
-
Allows you to specify the location of the certificate that will be used for authentication. There are two options available:
- Store
- File System
- Certificate Thumbprint (Available only when Service Account is selected)
-
This option allows you to specify the thumbprint of the selected certificate in order to authenticate using your Firestore Service. Account. Available only when Store is selected as Certificate Location.
- Certificate File Path
-
Provide the path to the certificate file to use for authentication. Click the ellipses button to browse the file system for the certificate. This option is available when you choose File System as Certificate Location.
- Certificate File Password
-
Provide the password to the certificate file. This option is available when you choose File System as the Certificate Location.
- Test Connection
-
After all the connection information has been provided, click the Test Connection button to test if the connection settings entered are valid.
Advanced Settings Page
The Advanced Settings page on the Firestore Connection Manager allows you to specify advanced and optional settings for the connection.
- Proxy Server Settings
-
The Proxy Server Settings allows you to specify how you want to configure the proxy server.
- 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, you can provide a proxy server to connect to Firestore.
- Port
-
The Port option allows you to specify the port number of the proxy server for the connection.
- Username
-
The Username option allows you to specify the proxy user account.
- Password
-
The Password option allows you to specify the proxy user’s password.
Note: Proxy Password is not included in the Firestore connection manager's ConnectionString property by default. This is done 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.
- Misc
-
- 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.
- API Throttling Rate
-
The API Throttling Rate option allows you to restrict how many requests you want to send to Ads per unit of time. While Firestore doesn't limit the number of requests a client application can send during a specific time window, continually sending requests can exceed the rate limit and cause RateExceededError. This rate is set to 10 and you can adjust upward from there to optimize your throughput without exceeding the rate limit. The requests drop-down will allow you to specify whether the API Throttling Rate should be per second, minute or hour.
- Retry on Intermittent Errors
-
This is an option designed to help recover from possible intermittent outages or disruption of service. It prevents the integration process from stopping due to temporary issues. Enabling this option will allow service calls to be retried upon certain types of failure. A service call may be retried up to 3 times before an exception is fired. Retries occur after 0 seconds, 15 seconds, and 60 seconds.
Warning: We have designed our retry feature carefully such that the retry should only occur when it is deemed safe to do so; however, in some occasions, such retry service calls could result in the creation of duplicate data.