Skip to main content
Version: 0.4 (Latest)

Google Cloud Storage (GCS)

Configuration​

{
"gcs_01": {
"ds_type": "gcs",
"auth_mode": "profile",
"info": {
"directory": "gs://your-bucket-name/path/to/exports",
"profile": "/path/to/service-account-key.json"
}
}
}
FieldRequiredDescription
ds_typeYesMust be "gcs"
auth_modeYesMust be "profile"
directoryYesFull GCS URL (e.g., gs://bucket/path)
profileYesPath to GCS service account JSON key file

Usage​

./LakeXpress config create -a credentials.json --lxdb_auth_id lxdb_mssql \
--source_db_auth_id source_postgres \
--target_storage_id gcs_01

Path Structure​

gs://bucket-name/base_path/schema_name/table_name/part-00000.parquet

Service Account Permissions​

Required roles:

  • Storage Object Creator
  • Storage Object Viewer (if reading is needed)

Or custom IAM permissions:

  • storage.objects.create
  • storage.objects.delete (if overwriting)
  • storage.buckets.get

Creating a Service Account​

gcloud iam service-accounts create lakexpress-export \
--display-name="LakeXpress Export Service Account"

gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
--member="serviceAccount:lakexpress-export@YOUR_PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/storage.objectCreator"

gcloud iam service-accounts keys create service-account-key.json \
--iam-account=lakexpress-export@YOUR_PROJECT_ID.iam.gserviceaccount.com

Troubleshooting​

ProblemSolution
Authentication errorsVerify key file path. Check Storage Object Creator role. Ensure service account is enabled.
Quota exceededCheck GCS quotas in Google Cloud Console. Request increase if needed.
Copyright © 2026 Architecture & Performance.