How-to guideDataAvailable
Set Up Google BigQuery
Connect a project and dataset with managed or customer-owned service-account access.
Last reviewed July 13, 2026
Prerequisites
- a Google Cloud project with BigQuery enabled;
- a dataset in the required location;
- authority to grant IAM access;
- a clear decision about whether Vendo needs read access, write access, or both.
Connect with Vendo’s Service Account
- In Vendo, open Data → Apps and add Google BigQuery.
- Choose Vendo Service Account.
- Enter the GCP project ID.
- Copy the service-account address displayed in the form.
- In Google Cloud IAM, grant that principal the roles shown in the form for the agreed scope.
- Return to Vendo and select Load Datasets.
- Choose the intended dataset and verify access.
- Save the app.
The form currently checks read and write access separately. A failed write check can be acceptable for a strictly read-only source, but it blocks workflows that need to create or update tables.
Connect with Your Own Service Account
- In Google Cloud, create a dedicated service account for Vendo.
- Grant the minimum roles on the intended project and dataset.
- Create a JSON key only if your policy permits long-lived keys.
- In Vendo’s BigQuery form, choose Bring your own service account.
- Paste the complete JSON into Service Account JSON.
- Enter the project and dataset IDs.
- Save the app and run a narrow integration test.
Delete any local copy of the downloaded key after it is stored in the approved secret system.
Verify End to End
For a source connection, run a schema discovery or limited query and compare it with BigQuery. For a destination, send a small, identifiable batch and verify the target table, row count, schema, timestamps, and identifiers.
Troubleshooting
| Symptom | Check |
|---|---|
| No datasets found | Project ID, managed principal, dataset IAM, and dataset location |
| Read denied | Dataset viewer access and BigQuery job permission |
| Write denied | Dataset editor access for the selected dataset |
| Own key rejected | Valid service-account JSON with project_id, private_key, and client_email |
| Integration runs but data is wrong | Source selection, stream, mapping, schedule, and destination table |
Related
Last updated on