クライアント ライブラリを使用して Pub/Sub でメッセージをパブリッシュおよび受信する
このページでは、次の方法について説明します。
Google Cloud CLI を使用してプロジェクトを作成し、課金を有効にして、Pub/Sub Lite API を有効にします。
Google Cloud CLI を使用して Lite 予約、Lite トピック、Lite サブスクリプションを作成する。
Go、Java、Python 用の Pub/Sub Lite クライアント ライブラリを使用してメッセージを送受信する。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Pub/Sub Lite API:
gcloud services enable pubsublite.googleapis.com
-
Create local authentication credentials for your user account:
gcloud auth application-default login
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/pubsublite.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Pub/Sub Lite API:
gcloud services enable pubsublite.googleapis.com
-
Create local authentication credentials for your user account:
gcloud auth application-default login
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/pubsublite.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
クライアント ライブラリをインストールする
Go
go get cloud.google.com/go/pubsublite
Java
If you are using Maven, add
the following to your pom.xml
file. For more information about
BOMs, see The Google Cloud Platform Libraries BOM.
If you are using Gradle, add the following to your dependencies:
If you are using sbt, add the following to your dependencies:
If you're using Visual Studio Code, IntelliJ, or Eclipse, you can add client libraries to your project using the following IDE plugins:
The plugins provide additional functionality, such as key management for service accounts. Refer to each plugin's documentation for details.
Python
pip install --upgrade google-cloud-pubsublite
Lite 予約の作成
Lite 予約を作成するには、gcloud pubsub lite-reservations create
コマンドを使用します。次のサンプルでは、testRes
という名前の予約を作成します。
gcloud pubsub lite-reservations create testRes \ --location=us-central1 \ --throughput-capacity=1
リージョン Lite トピックを作成する
Lite トピックを作成するには、gcloud pubsub lite-topics create
コマンドを使用します。次のサンプルでは、testTopic
というトピックを作成します。
gcloud pubsub lite-topics create testTopic \ --location=us-central1 \ --partitions=1 \ --per-partition-bytes=30GiB \ --throughput-reservation=projects/PROJECT_ID/locations/us-central1/reservations/testRes \
以下を置き換えます。
PROJECT_ID: プロジェクトの ID
Lite サブスクリプションの作成
Lite サブスクリプションを作成するには、gcloud pubsub lite-subscriptions create
コマンドを使用します。次のサンプルでは、testSub
という名前のサブスクリプションを作成します。
gcloud pubsub lite-subscriptions create testSub \ --location=us-central1 \ --topic=testTopic \ --delivery-requirement=deliver-immediately
メッセージを送信する
次のパブリッシャー アプリケーションを使用して、Lite トピックにメッセージを送信します。
Go
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Go 向けの手順に沿って設定を行ってください。 詳細については、Pub/Sub Lite Go API のリファレンス ドキュメントをご覧ください。
Pub/Sub Lite に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Python
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Python 向けの手順に沿って設定を行ってください。 詳細については、Pub/Sub Lite Python API のリファレンス ドキュメントをご覧ください。
Pub/Sub Lite に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
パブリッシャーは 100 件のメッセージを Lite トピックに送信し、Pub/Sub Lite サービスが受信したメッセージの数を出力します。
メッセージの受信
次のサブスクライバー アプリケーションを使用して、Lite サブスクリプションからメッセージを受信します。
Go
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Go 向けの手順に沿って設定を行ってください。 詳細については、Pub/Sub Lite Go API のリファレンス ドキュメントをご覧ください。
Pub/Sub Lite に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Java 向けの手順に沿って設定を行ってください。 詳細については、Pub/Sub Lite Java API のリファレンス ドキュメントをご覧ください。
Pub/Sub Lite に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Python 向けの手順に沿って設定を行ってください。 詳細については、Pub/Sub Lite Python API のリファレンス ドキュメントをご覧ください。
Pub/Sub Lite に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
サブスクライバーはメッセージを受信すると、メッセージ ID とメッセージ データを出力します。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、Google Cloud プロジェクトとそのリソースをまとめて削除してください。
- このガイドで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、トピックとサブスクリプションを削除します。
gcloud pubsub lite-subscriptions delete testSub --location=us-central1 gcloud pubsub lite-topics delete testTopic --location=us-central1
-
Optional: Revoke the authentication credentials that you created, and delete the local credential file.
gcloud auth application-default revoke
-
Optional: Revoke credentials from the gcloud CLI.
gcloud auth revoke
次のステップ
- Lite トピックと Lite サブスクリプションの詳細を確認する。
- メッセージの送信と受信の詳細を確認する。
- クライアント ライブラリのコードサンプルを確認する。