Cloud Pub/Sub is a messaging service for exchanging event data among applications and services. A producer of data publishes messages to a Cloud Pub/Sub topic. A consumer creates a subscription to that topic. Subscribers either pull messages from a subscription or are configured as webhooks for push subscriptions. Every subscriber must acknowledge each message within a configurable window of time.
This page shows how to publish and consume messages with a pull subscriber.
Before you begin
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
Set up a GCP Console project.
- Create or select a project.
- Enable the Cloud Pub/Sub API for that project.
You can view and manage these resources at any time in the GCP Console.
- Install and initialize the Cloud SDK.
gcloud command-line tool
You can use the
gcloud command-line tool to perform operations in Cloud Pub/Sub.
gcloud command-line tool is included in the Cloud SDK
you installed in
Before you begin.
See the gcloud pubsub section in the
gcloud reference for a complete list
of Cloud Pub/Sub
This self-contained example, meant to run in bash or the Cloud Shell, shows the steps required:
- Create a topic.
- Subscribe to the topic.
- Publish a message to the topic.
- Receive the message.
gcloud init gcloud pubsub topics create my-topic gcloud pubsub subscriptions create --topic my-topic my-sub gcloud pubsub topics publish my-topic --message "hello" gcloud pubsub subscriptions pull --auto-ack my-sub
This example uses a pull subscription. Cloud Pub/Sub also supports push subscriptions, as described in the Subscriber guide.
You can perform all administrative operations through the API, and most through
gcloud tool and GCP Console UI.
How did it go?
Note that additional resources and links are available on the Cloud Pub/Sub support page.
Get started with Cloud Pub/Sub in your language of choice at Cloud Pub/Sub Client Libraries .
for a walkthrough of how to use client library APIs to perform basic Cloud Pub/Sub tasks.
For a detailed overview of Cloud Pub/Sub, see What Is Cloud Pub/Sub?