Skip to main content
Qovery creates it in your account with a third-party provider, using credentials you enter in the form, as a Blueprint service in one of your environments.
New to this? You don’t need to know Terraform or Kubernetes. Qovery sets up Google BigQuery Dataset in your account with the provider: you fill in a form, or paste the prompt below into your coding agent. The values it publishes, listed under Outputs, reach your other services as environment variables. Qovery tells you when a newer version of the Blueprint is available. Check the requirements in the Reference section before you start, and try it first in a development environment.

Create it

  1. Open the environment, then New service › Blueprint.
  2. Find Google BigQuery Dataset in the catalog and pick the major version.
  3. Fill in the variables. Required ones are marked; the others use their defaults.
  4. Create the service, and deploy it now or later.
You don’t add any file to your repository. Qovery creates the Blueprint from the Console or the API.

Variables and outputs

Generated from qbm.yml at EXTERNAL/bigquery/default/1.0.3, the manifest the Console form is built from.
Outputs become environment variables that other services in the environment can use. By default Qovery also creates an alias for each output, prefixed with the Blueprint’s name; see Aliases Qovery creates for outputs for the naming rules and the cases where no alias is created.
Secret variables and outputs are encrypted and masked in Qovery, but Terraform can also keep their values, and values derived from them, in its state. With the Qovery-managed state backend (the default), Qovery stores the state. If you use your own backend, protect it and keep state files out of version control.

Reference

From the Blueprint’s README. Provisions a BigQuery dataset (google_bigquery_dataset) and, by default, a dedicated service account with a key (google_service_account, google_service_account_key) plus the IAM bindings an application needs to query it, via the official hashicorp/google provider (~> 7.0). Available on every cloud. This is an EXTERNAL blueprint: it authenticates with a service account key supplied as a variable, never with the cluster’s own cloud identity, so it deploys the same way from an AWS, Azure, Scaleway or GCP cluster. The generated key is what lets a workload outside Google Cloud authenticate — there is no workload identity to fall back on there.

Credentials

A Google service account JSON key in gcp_service_account_key (sensitive), supplied as a variable (credentials.default: env). The account it belongs to needs: Drop the last three by setting create_service_account = false and managing access yourself.

Variables

Required

Optional

Outputs

Notes

  • grant_job_user is not optional in practice. BigQuery splits data access from job creation: a dataset role lets the account read and write rows, but running a SELECT creates a job, which is a project-level right. Turning it off yields an account that fails every query with Permission bigquery.jobs.create denied.
  • The service account key must be a real key object. The variable rejects any JSON that is not an object carrying type: "service_account", client_email and private_key, so a wrong paste fails at variable resolution rather than as an opaque OAuth error minutes into the apply.
  • The service account key is a long-lived credential. It is surfaced as a sensitive output and stored encrypted by Qovery. On a GCP cluster you can set create_service_account = false and use Workload Identity instead; on any other cloud the key is the only option.
  • location is immutable. BigQuery cannot move a dataset, so a change here recreates it and destroys every table in it.
  • Destroy is guarded. With delete_contents_on_destroy = false (the default) destroying the blueprint fails while the dataset still holds tables, rather than dropping them.
  • Tables are deliberately out of scope: schemas belong with the application that owns them, and a blueprint variable cannot express one. Create them from your migration tooling against dataset_reference.