All Connectors
Snowflake Connector
Snowflake Connector
Snowflake Connector
Connect to a Snowflake database and expose it to Hasura v3 Project
About
Version
Released
July 11, 2024
Last Updated
November 13, 2024
GitHub Repo

Snowflake Connector

Docs ndc-hub License Status

With this connector, Hasura allows you to instantly create a real-time GraphQL API on top of your data models in Snowflake. This connector supports Snowflake'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.

Features

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

FeatureSupportedNotes
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
  2. Please ensure you have the DDN CLI and Docker installed
  3. Create a supergraph
  4. Create a subgraph

The steps below explain how to initialize and configure a connector on your local machine (typically for development purposes).You can learn how to deploy a connector to Hasura DDN — after it's been configured — here.

Using the Snowflake connector

With the context set for an existing subgraph, initialize the connector:

ddn connector init -i

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

NameDescriptionRequired
JDBC_URLThe JDBC URL to connect to the databaseYes
JDBC_SCHEMASA comma-separated list of schemas to include in the metadataYes

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

Key-Pair Authentication with RSA Keys

Snowflake supports Key-Pair Authentication in their JDBC driver, as noted in the docs:

This connector supports the method described in section

Private key file name and password in connection string
.

Namely, mount your RSA keys into the Connector container, and then reference the mounted file path in your connection string as below:

  • jdbc:snowflake://xxx.us-east-2.aws.snowflakecomputing.com/?private_key_file=/etc/connector/rsa_key.p8&private_key_file_pwd=<PASSWORD>

License

The Hasura Snowflake connector is available under the Apache License 2.0.

2024 Edition

The GraphQL Handbook

A GraphQL Handbook for developers and architects to help plan your GraphQL adoption journey.
The GraphQL Handbook

Ship a rock-solid API on your data – in minutes!