Back to Graphql Engine

Snowflake

docs/docs/databases/snowflake/index.mdx

2.48.164.0 KB
Original Source

Snowflake

Introduction

Hasura supports connecting to a Snowflake service to automatically build a GraphQL API based on its schema.

:::tip Supported versions:

  1. Hasura GraphQL Engine v2.24.0 onwards

:::

Get Started

To try Hasura with Snowflake, you'll need a new or existing Snowflake instance.

Here are 2 ways you can get started with Hasura and Snowflake:

  1. Hasura Cloud: You'll need to be able to access your Snowflake instance service from Hasura Cloud.
  2. Docker: Run Hasura with Docker and then connect your Snowflake instance to Hasura.

Feature Support

<div className="feature-matrix-tables"> <table> <tr> <td>Feature</td> <td>Snowflake</td> </tr> <tr> <td>Remote Relationships</td> <td>✅</td> </tr> <tr> <td>Views</td> <td>✅</td> </tr> <tr> <td>Custom Functions</td> <td>✅</td> </tr> <tr> <td>Logical Models</td> <td>✅</td> </tr> <tr> <td>Native Queries</td> <td>✅</td> </tr> </table>

Queries

<table> <tr> <td>Feature</td> <td>Snowflake</td> </tr> <tr> <td>Simple</td> <td>✅</td> </tr> <tr> <td>Nested Object</td> <td>✅</td> </tr> <tr> <td>Aggregation</td> <td>✅</td> </tr> <tr> <td>Filter / Search</td> <td>✅</td> </tr> <tr> <td>Sort</td> <td>✅</td> </tr> <tr> <td>Distinct</td> <td>✅ (supported for aggregations only)</td> </tr> <tr> <td>Paginate</td> <td>✅</td> </tr> <tr> <td>Multiple Arguments</td> <td>✅</td> </tr> <tr> <td>Multiple Queries</td> <td>✅</td> </tr> <tr> <td>Variables / Aliases / Fragments</td> <td>✅</td> </tr> </table>

Mutations

<table> <tr> <td>Feature</td> <td>Snowflake</td> </tr> <tr> <td>Insert</td> <td>❌</td> </tr> <tr> <td>Upsert</td> <td>❌</td> </tr> <tr> <td>Update</td> <td>❌</td> </tr> <tr> <td>Delete</td> <td>❌</td> </tr> <tr> <td>Multiple per Request</td> <td>❌</td> </tr> </table>

Subscriptions

<table> <tr> <td>Feature</td> <td>Snowflake</td> </tr> <tr> <td>Value of Field</td> <td>❌</td> </tr> <tr> <td>Updates to Rows</td> <td>❌</td> </tr> <tr> <td>Value of Derived Field</td> <td>❌</td> </tr> <tr> <td>Streaming Subscriptions</td> <td>❌</td> </tr> </table>

Event Triggers

<table> <tr> <td>Feature</td> <td>Snowflake</td> </tr> <tr> <td>INSERT</td> <td>❌</td> </tr> <tr> <td>UPDATE</td> <td>❌</td> </tr> <tr> <td>DELETE</td> <td>❌</td> </tr> <tr> <td>MANUAL</td> <td>❌</td> </tr> </table> </div>

Managing data with the Hasura Console

The Hasura Console is a web UI that allows you to manage your data and metadata. It is available at http://localhost:8080/console when you run Hasura locally, or from your project's Console endpoint when you use Hasura Cloud.

The data-management features (such as creating tables) are available in the Data tab. You can access your GraphQL API in the API tab and interact with it using the GraphiQL interface.

:::info Console support

We recommend using your preferred Snowflake client instead. The Hasura Console is designed to be a tool for managing your GraphQL API, and not a full-fledged database management tool.

:::

Keep up to date

:::info Note

Currently, Hasura supports read-only queries, subscriptions, relationships, and permissions on Snowflake.

:::

If you'd like to stay informed about the status of Snowflake support, subscribe to our newsletter and join our discord!

Know more