Skip to main content

Connecting BigQuery

Axiome connects to BigQuery with a Google Cloud service account.

What you'll need

  • The Project ID of the GCP project holding your data.
  • The Dataset ID you want to analyze.
  • A service account JSON key with read access to that dataset.

Create a service account (in Google Cloud)

  1. In the Google Cloud console, create a service account dedicated to Axiome (for example axiome-reader).
  2. Grant it read-only BigQuery access — typically the BigQuery Data Viewer role on the dataset (or project) and BigQuery Job User on the project so it can run queries.
  3. Create a JSON key for the service account and download it.
Least privilege

Scope the Data Viewer role to the specific dataset rather than the whole project when you can. Axiome never writes to BigQuery.

Add the connection in Axiome

  1. Go to Settings → Admin → Connections → Add Connection and choose BigQuery.
  2. Enter the Project ID and Dataset ID.
  3. Provide the service account key: Upload JSON File, or paste the JSON directly.
  4. Click Test Connection, then Save.

The key is stored in Google Cloud Secret Manager and used server-side only.

The Add Connection dialog set to BigQuery, with Project ID, Dataset ID and the service-account JSON upload.

Nested and repeated columns

BigQuery datasets often contain nested STRUCT and repeated ARRAY columns. Axiome understands them:

  • Nested struct fields appear as regular fields in editors.
  • Arrays of structs can be flattened into virtual models so each array element becomes a row you can group, filter, and join back to its parent. See Virtual models.

Troubleshooting

SymptomLikely cause
Test fails with a permission errorThe service account is missing Data Viewer on the dataset or Job User on the project
Test fails with "invalid JSON"The pasted/uploaded file isn't a valid service account key
Tables missing from semantic modelsThey live in a different dataset than the configured Dataset ID