Supported sync modes
Connection details
Setting up a service account
Use a dedicated service account so long-running jobs do not depend on a user login.Step 1 — Create a service account
In the Google Cloud Console:- Go to IAM & Admin → Service Accounts
- Click Create Service Account
- Name it
zwiron-agentand click Create - Skip optional steps and click Done
Step 2 — Grant permissions
Assign these IAM roles to the service account:Step 3 — Create a key
- Click the service account → Keys → Add Key → Create new key
- Choose JSON
- Download the key file
How Zwiron writes to BigQuery
For high-throughput writes, Zwiron uses the BigQuery Storage Write API (default) orLOAD DATA jobs:
- Append mode — rows are appended to the table
- Upsert mode — rows are loaded to a staging table, then merged using
MERGE INTObased on the primary key - Replace mode — table is truncated and replaced with new data
Schema mapping
Partitioning and clustering
When Zwiron creates a table in BigQuery, you can configure:- Partitioning by a timestamp column (e.g.
created_at) — reduces query cost significantly - Clustering by a frequently-filtered column — improves query performance
Troubleshooting
Permission denied on dataset
Permission denied on dataset
Ensure the service account has
BigQuery Data Editor on the specific dataset, or BigQuery Admin on the project. Dataset-level permissions are separate from project-level IAM.Project not found
Project not found
Double-check the Project ID (not the project name). The project ID is visible in the Cloud Console header and in the service account JSON file under
"project_id".Quota exceeded
Quota exceeded
BigQuery has per-project and per-day quotas for load jobs. For very high-frequency pipelines, contact Google to increase quotas or use streaming inserts instead.