このドキュメントでは、Pub/Sub のトピックとサブスクリプションを作成、削除、管理する方法について説明します。メッセージ データのパブリッシュとアクセスの詳細については、パブリッシャー ガイドとサブスクライバーの概要をご覧ください。
トピックの管理
トピックの作成、削除、表示は、API、Google Cloud Console または gcloud
コマンドライン ツールで行います。Pub/Sub API gcloud
コマンドの完全なリストについては、gcloud pubsub
リファレンスをご覧ください。
Cloud Console の概要については、Cloud Console のクイックスタートをご覧ください。
トピックを作成する際には、独自の暗号鍵を指定することもできます。顧客管理の暗号鍵の使用をご覧ください。
トピックの作成
トピックをパブリッシュまたはサブスクライブする前に、トピックを作成する必要があります。次の例で、トピックの作成方法を説明します。
gcloud
gcloud pubsub topics create TOPIC_ID
REST
リクエスト:
リクエストは、Authorization
ヘッダー内のアクセス トークンにより認証を受ける必要があります。現在のアプリケーションのデフォルト認証情報のアクセス トークンを取得する場合は、gcloud auth application-default print-access-token
を使用します。
PUT https://pubsub.googleapis.com/v1/projects/myproject/topics/mytopic Authorization: Bearer ACCESS_TOKEN
レスポンス:
200 OK
{ "name": "projects/myproject/topics/mytopic" }
C++
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C++ 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C++ API のリファレンス ドキュメントをご覧ください。
C#
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C# 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C# API のリファレンス ドキュメントをご覧ください。
Go
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Go 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Java 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Node.js 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Node.js API のリファレンス ドキュメントをご覧ください。
PHP
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある PHP 向けの手順に従って設定を行ってください。詳細については、Pub/Sub PHP API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Python 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Python API のリファレンス ドキュメントをご覧ください。
Ruby
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Ruby 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Ruby API のリファレンス ドキュメントをご覧ください。
トピックの削除
次の例では、トピックを削除します。
gcloud
gcloud pubsub topics delete TOPIC_ID
REST
リクエスト:
リクエストは、Authorization
ヘッダー内のアクセス トークンにより認証を受ける必要があります。現在のアプリケーションのデフォルト認証情報のアクセス トークンを取得する場合は、gcloud auth application-default print-access-token
を使用します。
DELETE https://pubsub.googleapis.com/v1/projects/myproject/topics/mytopic Authorization: Bearer ACCESS_TOKEN
レスポンス:
200 OK
{ "name": "projects/myproject/topics/mytopic" }
C++
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C++ 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C++ API のリファレンス ドキュメントをご覧ください。
C#
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C# 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C# API のリファレンス ドキュメントをご覧ください。
Go
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Go 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Java 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Node.js 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Node.js API のリファレンス ドキュメントをご覧ください。
PHP
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある PHP 向けの手順に従って設定を行ってください。詳細については、Pub/Sub PHP API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Python 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Python API のリファレンス ドキュメントをご覧ください。
Ruby
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Ruby 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Ruby API のリファレンス ドキュメントをご覧ください。
トピックを削除しても、サブスクリプションは削除されません。サブスクライバーは、サブスクリプションのメッセージ バックログを使用できます。トピックが削除されると、そのサブスクリプションのトピック名は _deleted-topic_
になります。トピックを削除した直後に同名のトピックを新規作成しようとすると、エラーが発生します。
トピックの一覧表示
次の例では、トピックの一覧を取得します。
gcloud
gcloud pubsub topics list
REST
リクエスト:
リクエストは、Authorization
ヘッダー内のアクセス トークンにより認証を受ける必要があります。現在のアプリケーションのデフォルト認証情報のアクセス トークンを取得する場合は、gcloud auth application-default print-access-token
を使用します。
GET https://pubsub.googleapis.com/v1/projects/myproject/topics Authorization: Bearer ACCESS_TOKEN
レスポンス:
200 OK
{ "topics": [ { "name": "projects/myproject/topics/mytopic1" }, { "name": "projects/myproject/topics/mytopic2" } ] }
C++
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C++ 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C++ API のリファレンス ドキュメントをご覧ください。
C#
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C# 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C# API のリファレンス ドキュメントをご覧ください。
Go
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Go 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Java 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Node.js 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Node.js API のリファレンス ドキュメントをご覧ください。
PHP
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある PHP 向けの手順に従って設定を行ってください。詳細については、Pub/Sub PHP API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Python 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Python API のリファレンス ドキュメントをご覧ください。
Ruby
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Ruby 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Ruby API のリファレンス ドキュメントをご覧ください。
デフォルトでは、クエリあたり最大で 100 件の結果が返されます。ページサイズ パラメータを使用すると、最大で 1,000 までの代替値を指定できます。
サブスクリプションの接続解除
サブスクリプションを作成するとき、サブスクリプションをトピックに接続すると、サブスクライバーはサブスクリプションからメッセージを受信できます。サブスクライバーがメッセージの受信止めるには、トピックからサブスクリプションを切断します。
サブスクリプションを接続解除するには、トピックに対する pubsub.topics.detachSubscription
権限が必要です。サブスクリプションの接続解除は、サブスクリプションに対する権限なしで行えます。これは、サブスクリプションとは別のプロジェクトにあるトピックを管理する場合に使用します。詳細については、Pub/Sub のアクセス制御をご覧ください。
Cloud Console、gcloud
コマンドライン ツール、または Pub/Sub API を使用して、トピックからサブスクリプションを切断できます。
Console
サブスクリプションを切断する手順は、次のとおりです。
- Cloud Console で、[トピック] ページに移動します。
- トピック ID をクリックします。
- [サブスクリプション] タブで、切断するサブスクリプションのサブスクリプション ID をクリックします。
- [サブスクリプションの詳細] ページで [接続解除] をクリックします。
- 表示されたダイアログで、再度 [接続解除] をクリックします。
gcloud
サブスクリプションを接続解除するには、gcloud pubsub topics detach-subscription
コマンドを使用します。
gcloud pubsub topics detach-subscription SUBSCRIPTION_ID
リクエストが成功すると、コマンドラインに確認メッセージが表示されます。
Detached subscription [SUBSCRIPTION_ID].
REST
サブスクリプションの切断するには、次のようなリクエストを送信します。
POST https://pubsub.googleapis.com/v1/subscriptions/PROJECT_ID/subscriptions/SUBSCRIPTION_ID:detach Authorization: Bearer $(gcloud auth application-default print-access-token)
リクエストが成功した場合のレスポンスは空の JSON オブジェクトです。
C++
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C++ 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C++ API のリファレンス ドキュメントをご覧ください。
C#
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C# 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C# API のリファレンス ドキュメントをご覧ください。
Go
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Go 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Java 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Node.js 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Node.js API のリファレンス ドキュメントをご覧ください。
PHP
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある PHP 向けの手順に従って設定を行ってください。詳細については、Pub/Sub PHP API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Python 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Python API のリファレンス ドキュメントをご覧ください。
Ruby
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Ruby 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Ruby API のリファレンス ドキュメントをご覧ください。
Pub/Sub サービスがトピックからサブスクリプションを接続解除するまで数分かかる場合があります。
Pub/Sub サービスがトピックからサブスクリプションを接続解除すると、Pub/Sub サービスは、サブスクリプション用に保持するメッセージをすべて削除します。サブスクリプションからこれらのメッセージを取得することや、サブスクリプションをトピックに再接続することはできません。Cloud プロジェクトの割り当てを解放するには、サブスクリプションを削除します。
サブスクリプションとトピックが異なる Cloud プロジェクトにある場合、Pub/Sub サービスは両方のプロジェクトの監査ログにエントリを追加します。
サブスクリプションの管理
このセクションでは、push / pull サブスクリプションの管理方法を説明します。pull サブスクリプションと push サブスクリプションの概要と比較については、サブスクライバーの概要をご覧ください。
トピックにパブリッシュされたメッセージをサブスクライバーが受信するには、トピックに対してサブスクリプションが作成されている必要があります。
サブスクリプションの作成
Cloud Console、gcloud
コマンドライン ツール、または Pub/Sub API を使用してサブスクリプションを作成できます。
Console
サブスクリプションの作成は、次の手順で行います。
- Cloud Console で [サブスクリプション] ページに移動します。
- [サブスクリプションを作成] をクリックします。
- [サブスクリプション ID] を入力します。
- プルダウン メニューからトピックを選択するか、作成します。サブスクリプションがトピックからメッセージを受信します。
- [作成] をクリックします。
[トピック] セクションからサブスクリプションを作成することもできます。このショートカットは、トピックとサブスクリプションの関連付けに使用できます。
- Cloud Console で、[トピック] ページに移動します。
- サブスクリプションを作成するトピックの横の more_vert をクリックします。
- コンテキスト メニューから [サブスクリプションを作成] を選択します。
- プルダウン メニューからトピックを選択するか、作成します。サブスクリプションがトピックからメッセージを受信します。
- [サブスクリプション ID] を入力します。
- [作成] をクリックします。
gcloud
サブスクリプションを作成するには、gcloud pubsub subscriptions create
コマンドを実行します。
gcloud pubsub subscriptions create SUBSCRIPTION_ID \ --topic=TOPIC_ID \ [--ack-deadline=ACK_DEADLINE] \ [--dead-letter-topic=DEAD_LETTER_TOPIC_ID \ --dead-letter-topic-project=DEAD_LETTER_TOPIC_PROJECT_ID \ [--expiration-period=EXPIRATION_PERIOD] \ --max-delivery-attempts=MAX_DELIVERY_ATTEMPTS] \ [--message-filter=FILTER] [--message-retention-duration=MESSAGE_RETENTION_DURATION] \ [--max-retry-delay=MAX_RETRY_DELAY] \ [--min-retry-delay=MIN_RETRY_DELAY] \ [--push-endpoint=PUSH_ENDPOINT]
REST
リクエスト:
リクエストは、Authorization
ヘッダー内のアクセス トークンにより認証を受ける必要があります。現在のアプリケーションのデフォルト認証情報のアクセス トークンを取得するには、gcloud auth application-default print-access-token を使用します。
PUT https://pubsub.googleapis.com/v1/projects/myproject/subscriptions/mysubscription Authorization: Bearer ACCESS_TOKEN
リクエスト本文に次のフィールドを指定します。
{ "topic": "projects/someproject/topics/sometopic" // Only needed if you are using push delivery "pushConfig": { "pushEndpoint": "https://myproject.appspot.com/myhandler" } }
レスポンス:
200 OK
{ "name": "projects/myproject/subscriptions/mysubscription", "topic": "projects/someproject/topics/sometopic", "pushConfig": { "pushEndpoint": "https://myproject.appspot.com/myhandler" }, "ackDeadlineSeconds": 10 }
C++
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C++ 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C++ API のリファレンス ドキュメントをご覧ください。
C#
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C# 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C# API のリファレンス ドキュメントをご覧ください。
Go
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Go 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Java 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Node.js 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Node.js API のリファレンス ドキュメントをご覧ください。
PHP
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある PHP 向けの手順に従って設定を行ってください。詳細については、Pub/Sub PHP API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Python 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Python API のリファレンス ドキュメントをご覧ください。
Ruby
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Ruby 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Ruby API のリファレンス ドキュメントをご覧ください。
次のサンプルでは、push 配信でサブスクリプションを作成する方法を示します。デフォルトでは、サブスクリプションは pull 配信を使用します。
C++
このサンプルを試す前に、クイックスタート: クライアント ライブラリの使用の C++ の設定手順を実施してください。詳細については、Pub/Sub C++ API のリファレンス ドキュメントをご覧ください。
C#
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C# 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C# API のリファレンス ドキュメントをご覧ください。
Go
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Go 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Java 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Node.js 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Node.js API のリファレンス ドキュメントをご覧ください。
PHP
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある PHP 向けの手順に従って設定を行ってください。詳細については、Pub/Sub PHP API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Python 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Python API のリファレンス ドキュメントをご覧ください。
Ruby
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Ruby 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Ruby API のリファレンス ドキュメントをご覧ください。
サブスクリプション プロパティの使用
サブスクリプション プロパティは、サブスクリプションを作成または更新するときに設定できます。
gcloud
コマンドライン ツールを使用したサブスクリプション プロパティの設定の詳細については、gcloud pubsub subscriptions create
または gcloud pubsub subscriptions update
オプション フラグをご覧ください。
サブスクリプションには次のプロパティがあります。
特性 | 説明 | デフォルト |
---|---|---|
配信方法 |
pull 配信または push 配信でメッセージを受信できます。pull 配信では、サブスクライバー アプリケーションが Pub/Sub サーバーに対してリクエストを開始し、メッセージを取得します。push 配信では、Pub/Sub がサブスクライバー アプリケーションに対してリクエストを開始し、メッセージを配信します。 |
指定しなければ、Pub/Sub サブスクリプションは pull 配信を使用します。 |
確認応答期限 |
期限切れになる前にコードからメッセージに対して確認応答が行われなかった場合は、メッセージが再送信されます。 |
デフォルトの確認応答期限は 10 秒です。最大値は 10 分です。 |
メッセージ保持期間 |
メッセージの保持期間により、Pub/Sub がパブリッシュ後にメッセージを保持する期間が指定されます。メッセージの保持期間が経過すると、確認応答状態にかかわらず、Pub/Sub によりメッセージが破棄される可能性があります。 メッセージ保持期間の間の確認済みメッセージの保持については、メッセージの再生と破棄をご覧ください。 |
デフォルトのメッセージ保持期間は 7 日間です。最小で 10 分、最大で 7 日間になります。 |
デッドレター トピック |
サブスクライバーがメッセージを確認応答できない場合、Pub/Sub はメッセージをデッドレター トピックに転送できます。詳しくは、デッドレター トピックへの転送をご覧ください。 デッドレター トピックを使用すると、メッセージの順序指定を有効にできません。 |
デッドレター トピックを設定する場合は、配信の最大試行回数も指定できます。デフォルトの配信試行回数は 5 で、5~100 の間で指定できます。 配信エラートピックを設定し、そのトピックがサブスクリプションとは異なるプロジェクトにある場合は、配信エラートピックとともにプロジェクト ID も指定する必要があります。 |
有効期限 |
サブスクライバーのアクティビティ(オープン接続、有効な pull、push の成功など)がないサブスクリプションの有効期限が切れます。Pub/Sub がサブスクライバーのアクティビティを検出すると、サブスクリプション削除クロックが再起動されます。 |
デフォルトの有効期限は 31 日間です。最小は 1 日間です。 サブスクリプションの有効期限が切れないようにするには、有効期限を |
再試行ポリシー |
確認応答期限が切れた場合、またはサブスクライバーが否定応答をした場合、Pub/Sub は指数バックオフを使用してメッセージを再度送信できます。 |
再試行ポリシーが設定されていない場合、確認応答期限が切れるか、サブスクライバーが否定応答をするとすぐに、Pub/Sub はメッセージを再送信します。 バックオフ期間の最大値が設定されている場合、デフォルトのバックオフ期間の最小値は 10 秒です。バックオフ期間の最小値が設定されている場合、デフォルトのバックオフ期間の最大値は 600 秒です。 指定できるバックオフ期間の最長値は 600 秒です。 |
メッセージの順序指定 |
パブリッシャーが順序指定キーを使用してメッセージを送信し、メッセージの順序指定が設定されている場合、Pub/Sub はメッセージを順に配信します。 |
設定されていない場合は、Pub/Sub は順序指定キーが設定されたメッセージを含めて、メッセージを順に配信しません。 |
フィルタ |
フィルタはフィルタリング式を含む文字列です。サブスクリプションにフィルタがある場合、サブスクリプションはフィルタに一致するメッセージのみを配信します。メッセージは属性でフィルタできます。 |
指定がない場合は、サブスクリプションはメッセージをフィルタせず、サブスクライバーはすべてのメッセージを受け取ります。 |
再試行ポリシーの使用
サブスクリプションに再試行ポリシーがある場合、Pub/Sub は、指定したバックオフ期間の経過後に確認応答されていないメッセージを再送信します。Pub/Sub は、ベストエフォート ベースでバックオフ期間の経過後にメッセージを再送信します。そのため、最小バックオフ期間の経過前にメッセージが届く場合があります。
メッセージがバッチにある場合、次のいずれかが発生すると、Pub/Sub は指数バックオフを開始します。
- サブスクライバーにより、バッチ内のすべてのメッセージに対して否定応答が送信される。
- 確認応答期限が切れている。
バックオフ期間の経過後、Pub/Sub はバッチを再配信します。
push サブスクリプションからメッセージを受信すると、指数バックオフ期間ではなく push バックオフ期間の経過後に、Pub/Sub がメッセージを再配信する場合があります。push バックオフの期間が指数バックオフの期間よりも長い場合、Pub/Sub は push バックオフ期間の経過後に確認応答していないメッセージを再配信します。
配信方法の変更
Cloud Console、gcloud
コマンドライン ツール、または Pub/Sub API を使用して、push サブスクリプションと pull サブスクリプションを切り替えることができます。
Console
push サブスクリプションを変更する際の手順は、次のとおりです。
- Cloud Console で [サブスクリプション] ページに移動します。
- 更新するサブスクリプションの横の more_vert をクリックします。
- [配信タイプ] で [Pull] または [Push] を選択します。
- [更新] をクリックします。
gcloud
push エンドポイント URL を変更するには、modify-push-config
コマンドを実行します。
gcloud pubsub subscriptions modify-push-config SUBSCRIPTION_ID \ --push-endpoint=PUSH_ENDPOINT
サブスクリプションが pull 配信をすでに使用している場合、push エンドポイントを設定すると配信方式がプッシュ push 配信に切り替わります。
push エンドポイントを空の文字列に変更すると、push 配信から pull 配信に切り替えることができます。
C++
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C++ 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C++ API のリファレンス ドキュメントをご覧ください。
C#
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C# 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C# API のリファレンス ドキュメントをご覧ください。
Go
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Go 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Java 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Node.js 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Node.js API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Python 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Python API のリファレンス ドキュメントをご覧ください。
Ruby
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Ruby 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Ruby API のリファレンス ドキュメントをご覧ください。
サブスクリプションの一覧表示
Cloud Console、gcloud
コマンドライン ツール、または Pub/Sub API を使用して、Google Cloud プロジェクトのサブスクリプションを一覧表示できます。
Console
プロジェクトのサブスクリプションを表示するには、[サブスクリプション] ページに移動します。
gcloud
Google Cloud プロジェクトのサブスクリプションを一覧表示するには、gcloud pubsub subscriptions list
コマンドを実行します。
gcloud pubsub subscriptions list [--project=PROJECT_ID]
C++
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C++ 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C++ API のリファレンス ドキュメントをご覧ください。
C#
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C# 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C# API のリファレンス ドキュメントをご覧ください。
Go
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Go 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Java 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Node.js 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Node.js API のリファレンス ドキュメントをご覧ください。
PHP
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある PHP 向けの手順に従って設定を行ってください。詳細については、Pub/Sub PHP API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Python 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Python API のリファレンス ドキュメントをご覧ください。
Ruby
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Ruby 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Console、gcloud
コマンドライン ツール、または Pub/Sub API を使用して、トピックにサブスクリプションを一覧表示できます。
Console
- Cloud Console で、[トピック] ページに移動します。
- トピック ID を選択して、[トピックの詳細] ページを開きます。ページの [サブスクリプション] セクションには、トピックのサブスクリプションの一覧が表示されます。
gcloud
Google Cloud プロジェクトのサブスクリプションを一覧表示するには、gcloud pubsub topics list-subscriptions
コマンドを実行します。
gcloud pubsub topics list-subscriptions TOPIC_ID
C++
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C++ 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C++ API のリファレンス ドキュメントをご覧ください。
C#
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C# 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C# API のリファレンス ドキュメントをご覧ください。
Go
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Go 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Java 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Node.js 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Node.js API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Python 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Python API のリファレンス ドキュメントをご覧ください。
Ruby
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Ruby 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Ruby API のリファレンス ドキュメントをご覧ください。
サブスクリプションを削除する
Cloud Console、gcloud
コマンドライン ツール、または Pub/Sub API を使用してサブスクリプションを削除できます。
Console
- Cloud Console で [サブスクリプション] ページに移動します。
- 削除する定期購入を選択します。
- [削除] をクリックします。
gcloud
サブスクリプションを削除するには、gcloud pubsub subscriptions delete
コマンドを実行します。
gcloud pubsub subscriptions delete SUBSCRIPTION_ID
C++
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C++ 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C++ API のリファレンス ドキュメントをご覧ください。
C#
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C# 向けの手順に従って設定を行ってください。詳細については、Pub/Sub C# API のリファレンス ドキュメントをご覧ください。
Go
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Go 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Java 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Node.js 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Node.js API のリファレンス ドキュメントをご覧ください。
PHP
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある PHP 向けの手順に従って設定を行ってください。詳細については、Pub/Sub PHP API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Python 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Python API のリファレンス ドキュメントをご覧ください。
Ruby
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Ruby 向けの手順に従って設定を行ってください。詳細については、Pub/Sub Ruby API のリファレンス ドキュメントをご覧ください。
リソース名
Pub/Sub リソース名は、サブスクリプションやトピックなどの Pub/Sub のリソースを一意に識別します。リソース名は次の形式になっている必要があります。
projects/project-identifier/collection/relative-name
project-identifier は、Google Cloud Console から取得可能なプロジェクト ID にする必要があります。たとえば、projects/myproject/topics/mytopic
です。
collection には subscriptions
か topics
を指定します。
relative-name は次の要件を満たす必要があります。
- 文字列
goog
で始めないこと。 - 文字から始まること。
- 3~255 文字の長さであること。
次の文字だけが含まれていること。
- 文字:
[A-Za-z]
- 数字:
[0-9]
- ダッシュ:
-
- アンダースコア:
_
- ピリオド:
.
- チルダ:
~
- プラス記号:
+
パーセント記号:
%
上記のリストの特殊文字は、URL エンコードのないリソース名で使用できます。ただし、URL で使用されている場合、その他すべての特殊文字が適切にエンコード / デコードされることを確認する必要があります。たとえば、
mi-tópico
は無効な relative-name ですが、mi-t%C3%B3pico
は有効です。これは、REST 呼び出しでは特に重要な点です。
- 文字: