Skip to content

Commit

Permalink
Add the redshift connector
Browse files Browse the repository at this point in the history
  • Loading branch information
codingkarthik committed Nov 14, 2024
1 parent 04ad1a6 commit a96802b
Show file tree
Hide file tree
Showing 4 changed files with 119 additions and 0 deletions.
78 changes: 78 additions & 0 deletions registry/hasura/redshift/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Redshift Connector

[![Docs](https://img.shields.io/badge/docs-v3.x-brightgreen.svg?style=flat)](https://hasura.io/docs/3.0/getting-started/overview/)


With this connector, Hasura allows you to instantly create a real-time GraphQL API on top of your data models in Amazon Redshift Database.
This connector supports Redshift's functionalities listed in the table below, allowing for efficient and scalable data
operations. Additionally, users benefit from all the powerful features of Hasura’s Data Delivery Network (DDN) platform,
including query pushdown capabilities that delegate query operations to the database, thereby enhancing query
optimization and performance.

This connector implements the [Data Connector Spec](https://github.com/hasura/ndc-spec).

- [Connector information in the Hasura Hub](https://hasura.io/connectors/redshift)
- [Hasura V3 Documentation](https://hasura.io/docs/3.0)

## Features

Below, you'll find a matrix of all supported features for the Redshift connector:

| Feature | Supported | Notes |
| ------------------------------- | --------- | ----- |
| Native Queries + Logical Models || |
| Native Mutations || |
| Simple Object Query || |
| Filter / Search || |
| Simple Aggregation || |
| Sort || |
| Paginate || |
| Table Relationships || |
| Views || |
| Remote Relationships || |
| Custom Fields || |
| Mutations || |
| Distinct || |
| Enums || |
| Naming Conventions || |
| Default Values || |
| User-defined Functions || |

## Prerequisites

1. Create a [Hasura Cloud account](https://console.hasura.io)
2. Please ensure you have the [DDN CLI](https://hasura.io/docs/3.0/cli/installation) and
[Docker](https://docs.docker.com/engine/install/) installed
3. [Create a supergraph](https://hasura.io/docs/3.0/getting-started/init-supergraph)
4. [Create a subgraph](https://hasura.io/docs/3.0/getting-started/init-subgraph)

## Using the Redshift connector

With the [context set](https://hasura.io/docs/3.0/cli/commands/ddn_context_set/) for an existing subgraph, initialize
the connector:

```sh
ddn connector init -i
```

When the wizard runs, you'll be prompted to enter the following env vars necessary for your connector to function:

| Name | Description | Required |
|-------------------|------------------------------|----------|
| REDSHIFT_JDBC_URL | JDBC URL of your Redshift DB | Yes |
| REDSHIFT_USERNAME | Username of your Redshift DB | Yes |
| REDSHIFT_PASSWORD | Password of your Redshift DB | Yes |


After the CLI initializes the connector, you'll need to:

- [Introspect](https://hasura.io/docs/3.0/cli/commands/ddn_connector_introspect) the source.
- Add your [models](https://hasura.io/docs/3.0/cli/commands/ddn_model_add),
[commands](https://hasura.io/docs/3.0/cli/commands/ddn_command_add), and
[relationships](https://hasura.io/docs/3.0/cli/commands/ddn_relationship_add).
- Create a [new build](https://hasura.io/docs/3.0/cli/commands/ddn_supergraph_build_local).
- Test it by [running your project along with the connector](https://hasura.io/docs/3.0/cli/commands/ddn_run#examples).

## License

The Hasura Redshift connector is available under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).
Binary file added registry/hasura/redshift/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 30 additions & 0 deletions registry/hasura/redshift/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"overview": {
"namespace": "hasura",
"description": "The Redshift Native Data Connector allows for connecting to a Redshift instance giving you an instant GraphQL API on top of your Redshift data.",
"title": "Redshift Native Data Connector",
"logo": "logo.png",
"tags": [
"database"
],
"latest_version": "v0.1.1"
},
"author": {
"support_email": "[email protected]",
"homepage": "https://hasura.io",
"name": "Hasura"
},
"is_verified": true,
"is_hosted_by_hasura": false,
"source_code": {
"is_open_source": true,
"repository": "https://github.com/hasura/ndc-redshift/",
"version": [
{
"tag": "v0.1.1",
"hash": "5cad71dc7c6ad975ec643ac13f2361f3bd1e26cb",
"is_verified": true
}
]
}
}
11 changes: 11 additions & 0 deletions registry/hasura/redshift/releases/v0.1.1/connector-packaging.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"version": "v0.1.1",
"uri": "https://github.com/hasura/ndc-redshift/releases/download/v0.1.1/connector-definition.tgz",
"checksum": {
"type": "sha256",
"value": "4b06875ba1f4b92bcfe6cbc2a2eed1d07494a63b8800061ae4af2eb36ac8fdbd"
},
"source": {
"hash": "5cad71dc7c6ad975ec643ac13f2361f3bd1e26cb"
}
}

0 comments on commit a96802b

Please sign in to comment.