datastation icon indicating copy to clipboard operation
datastation copied to clipboard

AWS Redshift support via IAM

Open mc-borscht opened this issue 3 years ago • 1 comments

Hey there - been loving Datastation so far - I have a suggested new data source...AWS Redshift.

OK, OK - I know we can connect a la PostgreSQL via the usual suspects BUT it's possible, and in some cases preferable, to connect to and query Redshift purely via AWS' Redshift Data API.

About 2 years ago AWS developed the Redshift Data API for connecting via IAM with the following advantages:

  • No persistent connection required (async)
  • No connection pool management required
  • Dependencies limited to aws-sdk - no additional drivers required
  • No more management of db credentials - use of IAM credentials aligns with AWS-friendly security

Read more about it here - https://docs.aws.amazon.com/redshift/latest/mgmt/data-api.html

For organizations with a Data Warehouse in Redshift which have switched to this method - it is an unfortunate deal-breaker when it comes to using DataStation (which is a shame because I see support for the incredibly useful Athena).

I would be happy to give a hand in this - although I'm still a bit green in Go.

If you are curious - here is the official 'examples' repo for a simple db client implementation in Go:

https://github.com/aws-samples/getting-started-with-amazon-redshift-data-api/blob/main/quick-start/go/main.go

mc-borscht avatar Sep 13 '22 12:09 mc-borscht

Hey! This sounds good. There are a bunch of PRs that have shown how to add a new database type

  • https://github.com/multiprocessio/datastation/pull/281
  • https://github.com/multiprocessio/datastation/pull/239
  • https://github.com/multiprocessio/datastation/pull/219

Give it a shot!

eatonphil avatar Sep 17 '22 14:09 eatonphil