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.

New SSIS Connection

Add SSIS Firestore Connection

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.

SSIS Firestore Connection

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.

    SSIS Firestore Connection Generate 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
    • Firestore Connection Manager - 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 P12
  • firestore Connection Manager - Service account P12
    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.

SSIS Firestore Connection Advanced Settings

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.