Create it
- Console
- CLI and API
- Coding agent
- Open the environment, then New service › Blueprint.
- Find Google BigQuery Dataset in the catalog and pick the major version.
- Fill in the variables. Required ones are marked; the others use their defaults.
- Create the service, and deploy it now or later.
Variables and outputs
Generated fromqbm.yml at EXTERNAL/bigquery/default/1.0.3, the manifest the Console form is built from.
All 13 variables
All 13 variables
All 8 outputs
All 8 outputs
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 ingcp_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_useris not optional in practice. BigQuery splits data access from job creation: a dataset role lets the account read and write rows, but running aSELECTcreates a job, which is a project-level right. Turning it off yields an account that fails every query withPermission 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_emailandprivate_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 = falseand use Workload Identity instead; on any other cloud the key is the only option. locationis 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.