For shared orchestration concepts, read Triggers before you tune GCS-specific filters.
Pub/Sub notification setup
Create a Pub/Sub topic
In Google Cloud Console → Pub/Sub, create a topic dedicated to bucket notifications (for example,
gcs-planasonix-landing). Avoid reusing a topic that mixes unrelated workloads unless you partition with subscriptions carefully.Attach the notification to the bucket
Using Cloud Console → Cloud Storage → bucket → Configuration → Pub/Sub notifications, or
gcloud storage buckets notifications create, register the topic on the bucket. Grant the GCS service account permission to publish to the topic (roles/pubsub.publisher on the topic).Create a subscription for Planasonix
Create a pull or push subscription as Planasonix requires. For pull, Planasonix (or a connector) uses the Google client libraries with service account credentials. For push, configure the push endpoint and authentication Planasonix provides.
Object finalize events and path filters
GCS sends OBJECT_FINALIZE when an object is successfully written (including composite uploads completing). That is the usual signal for “file ready to process.”- Prefix and suffix filters
- Multiple notifications
When you create the notification, set object name prefix (for example,
ingest/sales/) and optional suffix (.avro, .parquet) so only relevant objects publish messages.Service account permissions
Planasonix needs credentials that can consume Pub/Sub messages and read objects from GCS.Pub/Sub consumer
Pub/Sub consumer
Grant
roles/pubsub.subscriber on the subscription (or parent project if your org assigns at project level). If Planasonix acknowledges messages, ensure it also has pubsub.subscriptions.consume coverage via that role or a custom role.Storage object reader
Storage object reader
Grant
roles/storage.objectViewer on the bucket or finer-grained IAM Conditions on a prefix when supported. For Customer-Managed Encryption Keys (CMEK), grant cloudkms.cryptoKeyDecrypter on the key used by the bucket.Cross-project buckets
Cross-project buckets
When the bucket and subscription live in different projects, create the service account in the project Planasonix uses and grant cross-project IAM bindings on the bucket and subscription resources explicitly.
Message payload and pipeline context
Pub/Sub messages include attributes such asbucketId and objectId. Planasonix maps these to run parameters so nodes can open the correct gs:// URI. Confirm your pipeline reads the trigger payload or environment variables the product injects for GCS triggers.
Operational notes
GCS notifications are at-least-once. The same finalize event may surface more than once; design deduplication using generation and metageneration, or object ETags, in your load logic.
Related topics
Triggers overview
Idempotency, ordering, and security practices.
Cloud storage connections
GCS authentication and connectivity.