Reference · built on requestConnectorStreams, queues & webhooks

Google Cloud Pub/Sub

Messages from Pub/Sub topics by pull, push to an HTTPS endpoint, or export to BigQuery and Cloud Storage, through pubsub.googleapis.com.

About

Google Cloud Pub/Sub is the messaging service of Google Cloud, reached at pubsub.googleapis.com over REST or gRPC. Publishers write to a topic. Each subscription on that topic receives its own copy of every message: by pull, by push to an HTTPS endpoint, or by export straight into BigQuery, Bigtable, or Cloud Storage. Unacknowledged messages are kept and delivered again.

Through Fibric, an operator owns a subscription on the topics that matter to it. It acknowledges what it has read, proposes actions on what it finds, and, after your approval, publishes a message of its own once, with a receipt that names the topic, the messageId, and the reason.

This is a reference listing. It documents what Fibric would read from Google Cloud Pub/Sub and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • Messages from projects.subscriptions.pull, up to 1000 messages or 10 MB per response, each with messageId, publishTime, data, and attributes
  • Messages pushed to an HTTPS endpoint as JSON POST requests carrying message.data in base64, attributes, orderingKey, deliveryAttempt, and the subscription path
  • Topics, subscriptions, snapshots, and schemas in a project through the list and get methods of each resource
  • Rows written by export subscriptions into BigQuery, Bigtable, or Cloud Storage
  • Schema definitions and revisions through projects.schemas, including validateMessage against a schema

Proposed actions

  • Target capability: propose a projects.topics.publish of up to 1,000 messages or 10 MB per request, with attributes and an ordering key
  • Target capability: propose creating a subscription on a topic with a push endpoint, an acknowledgement deadline, a dead-letter topic, or an export target
  • Target capability: propose a projects.subscriptions.seek to a snapshot or a timestamp so retained messages are delivered again
  • Target capability: propose a modifyPushConfig to move a push subscription to a new endpoint

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Deliver a topic to an operator by push

    A push subscription POSTs each message to the connector's HTTPS endpoint with a signed JWT. A 2xx response acknowledges it; anything else is delivered again after the acknowledgement deadline, so nothing is lost while the operator is busy.

    With Integration Health

  • Know when a pipeline stalls

    An export subscription writes the topic into a BigQuery table. The operator compares publishTime on the newest rows with the clock and proposes a freshness notice when the gap grows past what the table usually shows.

    With Data Freshness

  • Reprocess after a bad deploy

    Before a release, the connector proposes a snapshot of the operator's subscription. If the release misreads messages, the operator proposes a seek back to that snapshot, and the retained messages arrive again.

    With Webhook Replay

  • Pull at the operator's own pace

    The connector pulls batches of up to 1000 messages, acknowledges each one the operator has read, and extends the deadline with modifyAckDeadline when a batch takes longer than expected.

    With Anomaly Notice

Requirements

  • A Google Cloud project with the topics the operator will read and a subscription the connector can own on each
  • roles/pubsub.subscriber, which carries pubsub.subscriptions.consume, on every subscription the connector reads
  • roles/pubsub.publisher, which carries pubsub.topics.publish, on any topic the connector writes to
  • For push delivery, a public HTTPS endpoint that answers 102, 200, 201, 202, or 204 to acknowledge a message
Authentication
A Google Cloud service account granted roles/pubsub.subscriber or roles/pubsub.publisher at the project level or on the individual topic and subscription; push requests carry a JWT that Pub/Sub signs.

Limits

  • A message's data field is at most 10 MB, with at most 100 attributes. A publish request carries at most 1,000 messages or 10 MB.
  • Unacknowledged messages are kept 7 days by default and a topic can retain up to 31 days; an unused subscription expires after 31 days.
  • After negative acknowledgements, push delivery backs off for between 100 milliseconds and 60 seconds and ramps back up with a slow-start algorithm.
  • A project holds at most 10,000 topics and 10,000 subscriptions, and publisher throughput is capped per region by region size.

Access and pricing

Reference listing. Fibric builds the connector under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.

Request Google Cloud Pub/Sub ↗

Questions and answers

Push or pull: which does this connector use?
Either. Push delivers to an HTTPS endpoint you own and treats 102, 200, 201, 202, or 204 as an acknowledgement; any other status means redelivery after the deadline. Pull requests batches of up to 1000 messages and acknowledges each one explicitly.
What happens to messages nobody acknowledges?
A subscription keeps them for 7 days by default and keeps delivering them. A dead-letter topic can be configured on the subscription for messages that keep failing, so they can be inspected instead of circling.
Can messages be reprocessed after a bug?
Yes. Create a snapshot of the subscription, or seek the subscription to a timestamp or to that snapshot, and the retained messages are delivered again. Retention on the topic or subscription decides how far back a seek can reach.
Ask about Google Cloud Pub/Sub

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.