Skip to main content

Google Cloud Pub/Sub API client library

Project description

Python idiomatic client for Google Cloud Pub / Sub

pypi versions

Quick Start

$ pip install --upgrade google-cloud-pubsub

For more information on setting up your Python development environment, such as installing pip and virtualenv on your system, please refer to Python Development Environment Setup Guide for Google Cloud Platform.

Authentication

With google-cloud-python we try to make authentication as painless as possible. Check out the Authentication section in our documentation to learn more. You may also find the authentication document shared by all the google-cloud-* libraries to be helpful.

Using the API

Google Cloud Pub/Sub (Pub/Sub API docs) is designed to provide reliable, many-to-many, asynchronous messaging between applications. Publisher applications can send messages to a topic and other applications can subscribe to that topic to receive the messages. By decoupling senders and receivers, Google Cloud Pub/Sub allows developers to communicate between independently written applications.

See the google-cloud-python API Pub/Sub documentation to learn how to connect to Cloud Pub/Sub using this Client Library.

Publishing

To publish data to Cloud Pub/Sub you must create a topic, and then publish messages to it

import os
from google.cloud import pubsub

publisher = pubsub.PublisherClient()
topic_name = 'projects/{project_id}/topics/{topic}'.format(
    project_id=os.getenv('GOOGLE_CLOUD_PROJECT'),
    topic='MY_TOPIC_NAME',  # Set this to something appropriate.
)
publisher.create_topic(topic_name)
publisher.publish(topic_name, b'My first message!', spam='eggs')

To learn more, consult the publishing documentation.

Subscribing

To subscribe to data in Cloud Pub/Sub, you create a subscription based on the topic, and subscribe to that.

import os
from google.cloud import pubsub

subscriber = pubsub.SubscriberClient()
topic_name = 'projects/{project_id}/topics/{topic}'.format(
    project_id=os.getenv('GOOGLE_CLOUD_PROJECT'),
    topic='MY_TOPIC_NAME',  # Set this to something appropriate.
)
subscription_name = 'projects/{project_id}/subscriptions/{sub}'.format(
    project_id=os.getenv('GOOGLE_CLOUD_PROJECT'),
    sub='MY_SUBSCRIPTION_NAME',  # Set this to something appropriate.
)
subscriber.create_subscription(
    name=subscription_name, topic=topic_name)
subscription = subscriber.subscribe(subscription_name)

The subscription is opened asychronously, and messages are processed by use of a callback.

def callback(message):
    print(message.data)
    message.ack()
subscription.open(callback)

To learn more, consult the subscriber documentation.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

google-cloud-pubsub-0.35.2.tar.gz (91.6 kB view details)

Uploaded Source

Built Distribution

google_cloud_pubsub-0.35.2-py2.py3-none-any.whl (92.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file google-cloud-pubsub-0.35.2.tar.gz.

File metadata

File hashes

Hashes for google-cloud-pubsub-0.35.2.tar.gz
Algorithm Hash digest
SHA256 4dcf41be28be866f36050b70bb2232e292a6c998c3bb7f4bd86c440818e8ec62
MD5 56a77c2000c0f29ed4bd25dd11cdcfad
BLAKE2b-256 8c7416b2bba875bff693de2a8dfac9540a0fa309f828403da884a409e1dff37a

See more details on using hashes here.

Provenance

File details

Details for the file google_cloud_pubsub-0.35.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for google_cloud_pubsub-0.35.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 246492d76f04f638340b6fae00b40a7541bdc0959d8997559b3cd303b3bd104f
MD5 9d9a9ebb1b3a6177b06ccdeaa682bde9
BLAKE2b-256 8cce19cb56a66a87004729885690d0414cf80a09167a569c52d3bda79b5dc291

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page