Configuration and administration
Connect Google BigQuery
Connect BigQuery with a Google Cloud service account and select tables to synchronize.
Guide · Module: data · Users · Deployment: Not specified · Confirmed product versions: Not specified · Source: Existing documentation
AskTable connects to BigQuery without a host or port. Credentials are supplied as a Google Cloud service account JSON key. After you provide the key, BigQuery datasets appear as databases on the table selection page.
Before you start
| Item | Requirement |
|---|---|
| Permissions | Project owner or administrator |
| Prerequisite | A service account JSON key whose account can read the datasets you want to synchronize |
| Entry point | Main navigation on the left → “More” → “Data sources” → “Add data source” at the top right |
Steps
Prepare a service account in Google Cloud
Complete this step in the Google Cloud console, not AskTable; Google's official documentation is authoritative:
- Create a service account under “IAM & Admin → Service Accounts” with any name, such as
asktable-readonly. - Grant two roles:
roles/bigquery.dataVieweron the dataset you want to expose, for reading data and metadata; androles/bigquery.jobUseron the project that runs queries, for submitting query jobs. Job User cannot be granted on a dataset. To allow access to an entire project's data, you can grant Data Viewer at project level. See Google BigQuery roles for grant scopes. - Generate and download a JSON key; AskTable accepts only this format.
If your organization policy disables service account key creation (iam.disableServiceAccountKeyCreation), step 3 fails. A GCP administrator must permit it, or you must use your existing credential distribution method.
Select Google BigQuery
In “Select type”, click the “Google BigQuery” card under “Big data” to open “Configure connection”.
Enter a name and key
The form has only two fields:
- Data source name: optional; generated automatically if left blank.
- Service Account JSON: the text box starts with a JSON template containing
type,project_id,private_key, andclient_email. Replace it entirely with the real key.
Alternatively, click “Upload JSON file” at the bottom right and select a local .json file. Its contents fill the text box automatically.
Add the connection
Click “Add now” to test the connection and proceed to “Add tables” on success. On failure, the connection-failed dialog displays BigQuery's original error.
Select tables
A BigQuery dataset corresponds to the database (schema) level on the selection page. Select tables to synchronize and click “Confirm selection (N)”, or “Skip” and choose them later from the data source detail page.
Key constraints
| Item | Value or default | Where to change it |
|---|---|---|
| Service Account JSON | Required when creating; empty submissions are rejected | The form |
| Required key properties | project_id, client_email, private_key; missing any one rejects submission | Key file generated by Google Cloud |
| Key when editing | Leave blank to keep the current key; entering one replaces it | Data source → “Settings” → “Connection configuration” → “Edit” |
| Project ID | No separate form field; you do not need to enter it | — |
| Host / port | Not required | — |
| Tables per data source | 100 by default | Avatar menu → “Settings” → “Data sources” → Maximum tables per source (applies to cloud deployments) |
The per-source table count is a default that can be adjusted in the administration console.
Troubleshooting
| Symptom | How to identify it | What to do |
|---|---|---|
| Submission says the key cannot be empty | Text box is empty and no file was uploaded | Paste the full key or click “Upload JSON file” |
| Submission says the key is not valid JSON | Pasted text is truncated or surrounded by explanatory text | Copy the whole key file again, retaining only JSON |
| Submission says project_id, client_email, or private_key is missing | You used an OAuth client key or API key instead of a service account key | Generate a service account key in Google Cloud |
| Connection test reports authentication failure | BigQuery returns a key or identity error | Verify that the service account and key are still valid; replace with a valid key if needed |
| Connection test cannot submit query jobs | BigQuery reports missing bigquery.jobs.create | Grant BigQuery Job User on the project running queries; dataset-level Data Viewer alone is insufficient |
| Connection test cannot read tables | BigQuery returns a table or dataset access error | Grant BigQuery Data Viewer on the target dataset |
| A dataset is missing from selection | The dataset is absent from the database list | Give the service account read access to that dataset in Google Cloud |
| Connection worked yesterday but authentication fails today | Key was disabled or expired | Generate a new key and replace it under “Connection configuration” → “Edit” |
Next steps
- Explain unclear field names and business meaning: Table and field descriptions
- Maintain connected data: Manage data sources, files, and training sets
- Connect another database or file: Connect data sources
- Start asking questions: Conversations