Set Up Google BigQuery
Connect a project and dataset with managed or customer-owned service-account access.
Last reviewed September 15, 2026
Prerequisites
- A Google Cloud project with BigQuery enabled
- A dataset in the necessary location
- Permission 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 → Integrations → Apps and add Google BigQuery.
- Choose Vendo Service Account.
- Enter the GCP project ID.
- Copy the service-account address that the form shows.
- In Google Cloud IAM, grant that principal the roles that the form shows for the agreed scope.
- Go back to Vendo and select Load Datasets.
- Choose the correct dataset and verify access.
- Save the app.
The form checks read access and write access separately. A failed write check can be acceptable for a source that only reads data. But it stops workflows that must 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 correct project and dataset.
- Create a JSON key only if your policy permits long-lived keys.
- In the Vendo 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 small test sync.
Delete all local copies of the downloaded key after you store it in the approved secret system.
Verify End to End
For a source, run a schema discovery or a limited query, and compare the result with BigQuery. For a destination, send a small batch that you can identify. Then 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 |
| Sync runs but data is wrong | Source selection, stream, mapping, schedule, and destination table |
Related
Last updated on