Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

License

NotificationsYou must be signed in to change notification settings

googleapis/python-pubsub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

GApypiversions

Google Cloud Pub / Sub is a fully-managed real-time messaging service thatallows you to send and receive messages between independent applications. Youcan leverage Cloud Pub/Sub’s flexibility to decouple systems and componentshosted on Google Cloud Platform or elsewhere on the Internet. By building onthe same technology Google uses, Cloud Pub / Sub is designed to provide “atleast once” delivery at low latency with on-demand scalability to 1 millionmessages per second (and beyond).

Publisher applications can send messages to atopic and other applicationscan subscribe to that topic to receive the messages. By decoupling senders andreceivers, Google Cloud Pub/Sub allows developers to communicate betweenindependently written applications.

Quick Start

In order to use this library, you first need to go through the following steps:

  1. Select or create a Cloud Platform project.
  2. Enable billing for your project.
  3. Enable the Google Cloud Pub / Sub API.
  4. Setup Authentication.

Installation

Install this library in avirtualenv using pip.virtualenv is a tool tocreate isolated Python environments. The basic problem it addresses is one ofdependencies and versions, and indirectly permissions.

Withvirtualenv, it's possible to install this library without needing systeminstall permissions, and without clashing with the installed systemdependencies.

Supported Python Versions

Python >= 3.7

Deprecated Python Versions

Python <= 3.6.

The last version of this library compatible with Python 2.7 is google-cloud-pubsub==1.7.0.

Mac/Linux

pip install virtualenvvirtualenv <your-env>source <your-env>/bin/activate<your-env>/bin/pip install google-cloud-pubsub

Windows

pip install virtualenvvirtualenv <your-env><your-env>\Scripts\activate<your-env>\Scripts\pip.exe install google-cloud-pubsub

Example Usage

Publishing

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

importosfromgoogle.cloudimportpubsub_v1publisher=pubsub_v1.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(name=topic_name)future=publisher.publish(topic_name,b'My first message!',spam='eggs')future.result()

To learn more, consult thepublishing documentation.

Subscribing

To subscribe to data in Cloud Pub/Sub, you create a subscription based onthe topic, and subscribe to that, passing a callback function.

importosfromgoogle.cloudimportpubsub_v1topic_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.)defcallback(message):print(message.data)message.ack()withpubsub_v1.SubscriberClient()assubscriber:subscriber.create_subscription(name=subscription_name,topic=topic_name)future=subscriber.subscribe(subscription_name,callback)

The future returned by the call tosubscriber.subscribe can be used toblock the current thread until a given condition obtains:

try:future.result()exceptKeyboardInterrupt:future.cancel()

It is also possible to pull messages in a synchronous (blocking) fashion. Tolearn more about subscribing, consult thesubscriber documentation.

Authentication

It is possible to specify the authentication method to use with the Pub/Subclients. This can be done by providing an explicitCredentials instance. Supportfor various authentication methods is available from thegoogle-auth library.

For example, to use JSON Web Tokens, provide agoogle.auth.jwt.Credentials instance:

importjsonfromgoogle.authimportjwtservice_account_info=json.load(open("service-account-info.json"))audience="https://pubsub.googleapis.com/google.pubsub.v1.Subscriber"credentials=jwt.Credentials.from_service_account_info(service_account_info,audience=audience)subscriber=pubsub_v1.SubscriberClient(credentials=credentials)# The same for the publisher, except that the "audience" claim needs to be adjustedpublisher_audience="https://pubsub.googleapis.com/google.pubsub.v1.Publisher"credentials_pub=credentials.with_claims(audience=publisher_audience)publisher=pubsub_v1.PublisherClient(credentials=credentials_pub)

Versioning

This library followsSemantic Versioning.

It is currently in major version one (1.y.z), which means that the public API should be considered stable.

Contributing

Contributions to this library are always welcome and highly encouraged.

See theCONTRIBUTING doc for more information on how to get started.

Community

The best place to ask questions is via Stackoverflow:https://stackoverflow.com/questions/tagged/google-cloud-pubsub

License

Apache 2.0 - Seethe LICENSE for more information.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors83


[8]ページ先頭

©2009-2025 Movatter.jp