Skip to content

Google Cloud Storage Output

Writes Parquet files to a GCS bucket.

How it works

  1. Serializes record batches to Parquet.
  2. Uploads to the configured bucket with optional prefix, namespace, and time partitioning.

Configuration

yaml
data_sinks:
  sink:
    Gcs:
      bucket: my-bucket
      prefix: "data/"
      service_account_key_path: "/path/to/key.json"

Configuration variables

VariableDefaultDescription
bucket(required)GCS bucket name
prefixKey prefix for uploaded objects
service_account_key_pathPath to service account JSON key
formatparquetOutput format

Authentication

Authenticate with a Google Cloud service account key. For security best practices, we strongly advise against storing the service account key path in skippr.yml. Use environment variable interpolation instead: replace the service_account_key_path value with your own ${ENV_VAR} reference.

The relevant part of skippr.yml looks like this:

yaml
data_sinks:
  warehouse:
    Gcs:
      service_account_key_path: "${GCS_SERVICE_ACCOUNT_KEY_PATH}"

Set the env var before running skipprd:

macOS / Linux

bash
export GCS_SERVICE_ACCOUNT_KEY_PATH="/path/to/key.json"

Windows PowerShell

powershell
$env:GCS_SERVICE_ACCOUNT_KEY_PATH = "C:\path\to\key.json"

Windows Command Prompt

cmd
set GCS_SERVICE_ACCOUNT_KEY_PATH=C:\path\to\key.json

Troubleshooting

SymptomFix
authentication failedVerify the service account key path and confirm the key still belongs to an active service account.
writes failCheck bucket permissions, object prefix settings, and any organization policies affecting the bucket.

This site is source-available under PolyForm Shield 1.0.0