Produces events to a Google Cloud Pub/Sub topic.
Gcp Pubsub🔗
Produces events to a Google Cloud Pub/Sub topic.
Configuration🔗
| Field | Type | Required | Default | Description |
inputs | [string] | yes | — | Upstream component names that feed events into this sink. |
error_policy | ErrorPolicy | no | drop_on_error | Policy for handling errors during event processing. |
encoding | EncoderConfigEnum (optional) | no | — | Optional encoder configuration for output events. |
buffer | BufferConfig | no | — | Buffer configuration for event batching. |
auth | GcpConfig (optional) | no | — | GCP authentication and project settings. |
project_id | string (optional) | yes | — | GCP Project ID. |
credentials_file | string (optional) | no | — | Path to a Service Account JSON key file. If not provided, Application Default Credentials (ADC) will be used. |
credentials_json | string (optional) | no | — | Raw Service Account JSON key content. If not provided, credentials_file or ADC will be used. (sensitive) |
topic | string | yes | — | Pub/Sub topic name. |
subscription | string (optional) | no | — | Pub/Sub subscription name (required for sources). |
dead_letter_topic | string (optional) | no | — | Dead Letter Topic name. |
enable_message_ordering | boolean | no | — | Whether to enable message ordering. |
ordering_key_field | string (optional) | no | — | Field name to use as the ordering key. |
Telemetry🔗
This component emits the following standard telemetry metrics and events.
Metrics🔗
| Name | Type | Description |
component_sent_events_total | Counter | Total number of Kinetic events successfully sent by this sink. |
component_sent_event_bytes_total | Counter | Total estimated byte size of events sent. |
component_sent_network_bytes_total | Counter | Total number of raw network bytes sent. |
component_errors_total | Counter | Total number of errors encountered during processing. |
Events🔗
| Name | Description |
ComponentError | Emitted when an error occurs during component execution. |
ComponentEventsDropped | Emitted when events are intentionally or unintentionally dropped. |
Example🔗
sinks:
my_gcp_pubsub:
type: gcp_pubsub
inputs: ["my_transform"]
auth:
project_id: my-gcp-project
credentials_file: /secrets/gcp-sa.json
topic: my-topic
subscription: my-subscription
dead_letter_topic: my-dead-letter-topic
ordering_key_field: trace_id