Database Integration

Integration with Amazon AWS hosted databases.

Purpose

By adding one or more integrations to public or private databases you enable advanced apps and other capabilities to securely query your data using the power of AI agents.

Support

SkyDeck AI currently supports Postgresql databases and Redshift datawarehouses hosted on AWS. It is not particularly hard to support other data sources, but we did have to start somewhere. If you have another data source you wish to use, please reach out to support to prioritize an integration that meets your needs.

Directions

The following are the steps to integrate your database with SkyDeck AI:

  1. Obtain or put together a connection URL.

  2. Add the connection URL to the Integrations section in Control Center.

  3. Assign that integration to a smart tool or AI agent in the Tools section of Control Center.

Connection URL

If you are lucky, a database admin hands you a ready-to-use standard URL that points to your database. If not, you will need to put one together to add access SkyDeck access to your database. These directions will make that task rather easy.

To set up a connection URL to a PostgreSQL or Amazon Redshift database hosted on Amazon AWS, you need several pieces of information about your database: the host, port number, database name, username, and password. Here's a step by step guide:

PostgreSQL Database

  1. Host: This is the address of the server where your database is hosted. It should be something like your-db-instance-name.region-name.rds.amazonaws.com for AWS RDS PostgreSQL or your-cluster-name.region-name.redshift.amazonaws.com for Amazon Redshift.

  2. Port Number: This is the port on which your database server is listening. The default port for PostgreSQL is 5432, and for Amazon Redshift, it's 5439.

  3. Database Name: This is the name of the database you want to connect to.

  4. Username & Password: These are the credentials you need to authenticate with the database.

The general format of a connection URL is as follows:

protocol://username:password@host:port/database

Here's how you can create a connection URL:

  1. Start with the protocol, which is 'postgresql' for PostgreSQL and 'redshift' for Amazon Redshift:

     postgresql://
  2. Next, add your username and password, separated by a colon. If your username or password includes special characters, you'll need to URL encode them. For example, if your username is 'user' and your password is 'pass', it becomes:

     postgresql://user:pass@
  3. Then, add your host and port, separated by a colon:

     postgresql://user:pass@your-db-instance-name.region-name.rds.amazonaws.com:5432/
  4. Finally, add your database name:

     postgresql://user:pass@your-db-instance-name.region-name.rds.amazonaws.com:5432/your-database-name

That's it! You've created your connection URL. Be sure to replace 'user', 'pass', 'your-db-instance-name.region-name.rds.amazonaws.com', '5432', and 'your-database-name' with your actual database details.

Remember not to share this URL with anyone, as it contains sensitive information like your username and password.

RedShift DWH

The URL for a Redshift database would be very similar, but with a couple of key differences:

  1. The protocol would be 'jdbc:redshift' instead of 'postgresql'. This is because JDBC (Java Database Connectivity) is commonly used to connect with Redshift databases.

  2. The default port for Redshift is 5439, not 5432.

Here's the general format for a Redshift connection URL:

jdbc:redshift://host:port/database

So, if you were to create a connection URL for Redshift, it would look something like this:

jdbc:redshift://user:pass@your-cluster-name.region-name.redshift.amazonaws.com:5439/your-database-name

Remember to replace 'user', 'pass', 'your-cluster-name.region-name.redshift.amazonaws.com', '5439', and 'your-database-name' with your actual database details.

Adding Your Integration

Paste your connection URL in the "Credentials" section of Add Integration. You can select PostgreSQL for either a postgresql or Redshift database. You can use any name you want for the Integration, but we suggest you pick something that will help you identify the specific database associated.

Accessing Your Data Through SkyDeckAI

Today users can access your database using the Analyst tools available to them in GenStudio. As an admin you can assign an integration to an analyst tool in Control Center's Tools section. You can then assign tags to that tool to ensure only authorized people have access to that tool and its database access in their SkyDeck AI GenStudio workspace. \

Security Notes

  • Create a read-only user (role) on your database to use with your SkyDeck AI integration. SkyDeck does not need write to your system and it is safest if you use credentials that do not have more rights than necessary. However, the user should be able to query the structure of your data system in order to understand it.

  • Do not share the access URL as it contains confidential connection information.

  • You can limit which users in your organization have access to each database by ensuring that tools that use it, such as a copy of Analyst Bob, are assigned tags that correspond only to uers who you wish to have access.

Last updated