This section details various connectivity options and datasource related configurations.
Let's get started.
Establishing Network Connectivity
Establish network connectivity from any of the following three options:
- Direct connectivity from our cloud to yours
- SSH Tunnel
- Using an On-premise Agent
In order to connect to your data-store directly from Knowi' UI, enable access from any of our following IPs:
For Datasources inside your network where a direct connection from Knowi is not feasible, you can use our agent or SSH tunnel option instead.
Using an On-premise Agent
You can use Cloud9Agent to facilitate secure connectivity into your Datasources without any need for report/firewall opens. It is a headless process that establishes a persistent connection to our Servers where Datasources and Queries defined within the Knowi portal are synced up in real-time by the agent.
Please refer to the documentation on Cloud9Agent for more details.
SSH tunnel is one of the options available to connect to your database inside a private network. You can choose to have the SSH tunnel host be the same as your database machine or on a separate machine.
Please refer to the documentation on Connecting to a Private Network with an SSH Tunnel for more details.
Note: For some datasources (MongoDB, Couchbase Server, Elasticsearch, Microsoft SQL Server, DataStax, or REST API), the Agent can also be used as a Proxy server between the Knowi WebApp and API connector. (This functionality is only supported with direct Queries and not scheduled Queries.)
For more details, see How Do I Configure my Knowi Agent as a Proxy Server](https://docs.knowi.com/hc/en-us/community/posts/360041095834-How-do-i-configure-my-Knowi-Agent-as-a-Proxy-Server) for more details.
Once the network connectivity has been established, test the connection validity of the established network by clicking on the Test Connection button.
Note: The connection validity of the network can be tested only it has been established via Direct Connectivity or SSH tunnel.
Creating a Datasource
Step 1: Sign in to your Knowi account and click on the Queries from the left sidebar menu.
Step 2: Click on the NEW DATASOURCE button at the top right corner of the interface.
Step 3: Select the Datasource you want to work with.
Note: By default, Knowi provides live databases for demo purposes to test end-to-end flow.
We have selected semi-structured Datasource- MongoDB for the demonstration.
Step 4: Start configuring the datasource by entering the following details in the respective fields:
- Datasource Name to identify the database
- User ID to connect to
- Database Properties
- Host(s) to connect to
- Database Name
- Password to connect to the database
Note: Fields marked with an asterisk (*) are mandatory.
For most relational databases, you will have an option to enable Detect Schema. This would allow you to detect foreign keys between tables and can also be used for Query generation. Any Foreign Keys defined are automatically picked up; if foreign keys are not defined, it will do fuzzy matching on names to detect keys. Key mapping enabled paths to be highlighted when generating queries.
If Detect Schema is checked, click on the Infer Join Keys button to automatically match the fields based on names, if you do not have foreign keys defined in the database. This will fuzzy match the field names to detect keys.
Save Datasource & Start Querying
After filling in the datasource details, setting up the network connectivity, and testing the validity of the connection, hit the Save button.
Once the Datasource is successfully created and saved, you can view it anytime under the Datasource listing and perform edits if required.
Follow this path: Queries > Datasources
Your datasource will be saved and you can start configuring the Query by clicking on the provided link on the top of the interface.
Note: Alternatively, you can also click on the Start Querying button at the bottom.