Google Cloud Pub/Subは、独立したアプリケーション間でメッセージを送受信できる完全に管理されたリアルタイムのメッセージングサービスです。Google Cloud Pub/Subの柔軟性を活用して、Google Cloud Platform上またはインターネット上の他の場所にホストされているシステムとコンポーネントをデカップリングできます。
インストールと認証設定
このライブラリを使用するには、まず以下の手順を実行する必要があります:
- Cloud Platformプロジェクトを選択または作成します。
- プロジェクトの課金を有効にします。
- Google Cloud Pub / Sub APIを有効にします。
- 認証を設定します。
そして、このライブラリをpipを使用してvirtualenvにインストールします。
メッセージのパブリッシュ
Cloud Pub/Subにデータをパブリッシュするには、まずトピックを作成し、そのトピックにメッセージをパブリッシュします。
import os
from google.cloud import pubsub_v1
publisher = 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()
メッセージの購読
Cloud Pub/Subのデータを購読するには、トピックに基づいてサブスクリプションを作成し、そのサブスクリプションに対してコールバック関数を渡して購読します。
import os
from google.cloud import pubsub_v1
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.
)
以上がPythonとGoogle Cloud Pub/Subの基本的な使い方になります。詳細な情報は公式ドキュメンテーションをご覧ください。