BigQuery
Introduction
Hasura allows connecting to a BigQuery database and building a GraphQL API based on the database schema.
Hasura GraphQL Engine v2.0.0-alpha.1
onwards
Get Started
To try Hasura with BigQuery, you'll need your own new or existing BigQuery database.
Here is how you can get started with Hasura and BigQuery:
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.
We recommend using your preferred BigQuery client instead. The Hasura Console is designed to be a tool for managing your GraphQL API, and not a full-fledged database management tool.
Minimum required IAM permissions
- BigQuery queries through Hasura require the
bigquery.jobs.create
andbigquery.jobs.get
permissions to send a job to the BigQuery servers. - The
bigquery.tables.getData
permission allows Hasura to query your BigQuery data source. Note that mutations are not currently supported for BigQuery, and so no correspondingupdateData
permission is required. - To use the Hasura Console to edit your data source, several different permissions may be required depending on your
actions:
bigquery.datasets.create
andbigquery.datasets.delete
for creating and deleting datasets.bigquery.routines.create
,bigquery.routines.update
, andbigquery.routines.delete
for managing user-defined functions and stored procedures.bigquery.table.create
,bigquery.tables.list
,bigquery.tables.get
,bigquery.tables.delete
, andbigquery.tables.update
to manage the dataset definition.
Supported features
Hasura currently supports queries and relationships on BigQuery.
Keep up to date
If you'd like to stay informed about the status of BigQuery support, subscribe to our newsletter and join our discord!