サブスクライバーは Lite サブスクリプションを使用して Lite トピックからメッセージを読みます。Lite サブスクリプションを作成する際に、Lite トピックに追加します。単一の Lite トピックに多数の Lite サブスクリプションを追加できます。
サブスクリプションには次の 2 種類があります。
- 標準サブスクリプションLite トピックからメッセージを読み取る必要があるクライアントがいる場合は、標準サブスクリプションを作成します。
- エクスポート サブスクリプション。Lite メッセージを Pub/Sub にエクスポートする必要がある場合は、エクスポート サブスクリプションを作成します。詳細については、Pub/Sub Lite メッセージを Pub/Sub にエクスポートするをご覧ください。
Lite サブスクリプションのプロパティ
ゾーン Lite トピックのサブスクリプションには、次の点を除いて、リージョン Lite トピックのサブスクリプションと同じプロパティがあります。
リソース名で使用されるロケーション タイプ(ゾーンまたはリージョン)。リージョンのロケーションの例は
us-central1
です。ゾーンのロケーションの例はus-central1-a
です。信頼性。リージョン トピックとゾーン トピックの信頼性の違いについて詳しくは、Lite トピックのデータ レプリケーションをご覧ください。
メッセージの配信要件
メッセージのストレージへの書き込みが一時的に失敗すると、パブリッシャーはメッセージの送信を再試行します。この再試行は、エンドユーザーにとって透過的です。Lite サブスクリプションには、メッセージの再試行に対するサブスクリプションの反応を変更する配信要件プロパティがあります。このプロパティは、次の 2 つのオプションのいずれかに設定できます。
すぐにメッセージを配信する。このオプションを有効にすると、サブスクライバー クライアントは、サーバーに到着したすべてのメッセージを受信します。このプロセスは、ディスクに書き込まれているメッセージのステータスに依存しません。オフセットは再利用されませんが、ストレージに書き込まれないオフセット付きメッセージは、シーク オペレーション後に再読み取りできない可能性があります。
保存後にメッセージを配信する。このオプションを有効にすると、ディスクに書き込まれるまで、サブスクライバーはメッセージを受信しません。メッセージは、シーク オペレーション後に再読み取りできることが保証されます。このオプションを有効にすると、パブリッシャーからサブスクライバーへのメッセージ受信に対し、エンドツーエンドのレイテンシが増加します。
サブスクリプションへの名前付けのガイドライン
Pub/Sub Lite リソース名は、トピック、サブスクリプション、予約などの Pub/Sub Lite リソースを一意に識別します。リソース名は次の形式にする必要があります。
projects/project-identifier/collection/ID
project-identifier
: Google Cloud コンソールから取得可能なプロジェクト ID またはプロジェクト番号を指定する必要があります。たとえば、my-cool-project
はプロジェクト ID です。123456789123
はプロジェクト番号です。collection
:topics
、subscriptions
、reservations
のいずれかにする必要があります。ID
: 次のガイドラインに従う必要があります。- 文字列
goog
で始めないこと。 - 文字から始まる
- 3~255 文字の長さであること。
- 次の文字だけが含まれている: 文字
[A-Za-z]
、数字[0-9]
、ダッシュ-
、アンダースコア_
、ピリオド.
、チルダ~
、プラス記号+
、パーセント記号%
URL エンコードのないリソース名で、上記リストの特殊文字を使用できます。ただし、URL で使用されている場合、その他すべての特殊文字が適切にエンコードまたはデコードされることを確認する必要があります。たとえば、
mi-tópico
は無効な ID です。mi-t%C3%B3pico
は有効です。この形式は、REST 呼び出しを行う場合に重要です。- 文字列
Lite サブスクリプションの作成
Lite サブスクリプションは、Lite サブスクリプションが関連付けられた Lite トピックと同じプロジェクトとロケーションに存在している必要があります。
Lite トピックを作成するには、Lite トピックを作成して管理するをご覧ください。
使用可能なロケーションのリストについては、Pub/Sub Lite のロケーションをご覧ください。
Lite サブスクリプションは、Google Cloud コンソール、Google Cloud CLI、または Pub/Sub Lite API を使用して作成できます。
エクスポート サブスクリプションの作成については、Pub/Sub Lite メッセージを Pub/Sub にエクスポートするをご覧ください。
Console
[Lite サブスクリプション] ページに移動します。
[Lite サブスクリプションを作成] をクリックします。
Lite サブスクリプション ID を入力します。
メッセージを受信する Lite トピックを選択します。
[すぐにメッセージを配信] または [保存後にメッセージを配信] を選択します。
[開始オフセット] のタイプを選択します。
[配信タイプ] を選択します。
[作成] をクリックします。
gcloud
Lite サブスクリプションを作成するには、gcloud pubsub lite-subscriptions create
コマンドを使用します。
gcloud pubsub lite-subscriptions create SUBSCRIPTION_ID \ --location=LOCATION \ --topic=TOPIC_ID \ --delivery-requirement=DELIVERY_REQUIREMENT
以下を置き換えます。
SUBSCRIPTION_ID: Lite サブスクリプションの ID
LOCATION: Pub/Sub Lite がサポートするロケーションの名前
TOPIC_ID: Lite サブスクリプションに関連付ける Lite トピックの ID。
DELIVERY_REQUIREMENT:
deliver-after-stored
またはdeliver-immediately
リクエストが成功すると、コマンドラインに確認メッセージが表示されます。
Created [SUBSCRIPTION_ID].
プロトコル
Lite サブスクリプションを作成するには、次のような POST
リクエストを送信します。
POST https://REGION-pubsublite.googleapis.com/v1/admin/projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID Authorization: Bearer $(gcloud auth print-access-token)
次のように置き換えます。
REGION: Lite サブスクリプションを保存するリージョン
PROJECT_NUMBER: Lite サブスクリプションを作成するプロジェクトのプロジェクト番号
LOCATION: Pub/Sub Lite がサポートするロケーションの名前
SUBSCRIPTION_ID: Lite サブスクリプションの ID
リクエスト本文に次のフィールドを指定します。
{ "topic": projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID, "deliveryConfig": { "deliveryRequirement": DELIVERY_REQUIREMENT, } }
DELIVERY_REQUIREMENT は、deliver-after-stored
または deliver-immediately
に置き換えます。
リクエストが成功した場合のレスポンスは、JSON 形式の Lite サブスクリプションになります。
{ "deliveryConfig": { "deliveryRequirement": DELIVERY_REQUIREMENT, } "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID", "topic": "projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID", }
Go
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Go の設定手順を実施してください。
Java
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Java の設定手順を実施してください。
Python
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Python の設定手順を実施してください。
Lite トピックに Lite サブスクリプションを作成すると、Lite サブスクリプションからメッセージを受信できるようになります。
Lite サブスクリプションを更新する
Lite サブスクリプションは、Google Cloud コンソール、Google Cloud CLI、または Pub/Sub Lite API を使用して更新できます。
Console
[Lite サブスクリプション] ページに移動します。
[Lite サブスクリプション ID] をクリックします。
[Lite サブスクリプションの詳細] ページで [編集] をクリックします。
gcloud
Lite サブスクリプションを更新するには、gcloud pubsub lite-subscriptions update
コマンドを使用します。
gcloud pubsub lite-subscriptions update SUBSCRIPTION_ID \ --location=LOCATION \ --delivery-requirement=DELIVERY_REQUIREMENT
以下を置き換えます。
SUBSCRIPTION_ID: Lite サブスクリプションの ID
LOCATION: Lite サブスクリプションが含まれるロケーションの名前
DELIVERY_REQUIREMENT:
deliver-after-stored
またはdeliver-immediately
リクエストが成功すると、コマンドラインに Lite サブスクリプションが表示されます。
deliveryConfig: deliveryRequirement: DELIVERY_REQUIREMENT name: projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID topic: projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID
プロトコル
Lite サブスクリプションを更新するには、次のような PATCH
リクエストを送信します。
PATCH https://REGION-pubsublite.googleapis.com/v1/admin/projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID?updateMask=deliveryConfig.deliveryRequirement Authorization: Bearer $(gcloud auth print-access-token)
次のように置き換えます。
REGION: Lite サブスクリプションを保存するリージョン
PROJECT_NUMBER: Lite サブスクリプションを持つプロジェクトのプロジェクト番号
LOCATION: Lite サブスクリプションが含まれるロケーションの名前
SUBSCRIPTION_ID: Lite サブスクリプションの ID
リクエスト本文に次のフィールドを指定します。
{ "deliveryConfig": { "deliveryRequirement": DELIVERY_REQUIREMENT, } }
DELIVERY_REQUIREMENT は、deliver-after-stored
または deliver-immediately
に置き換えます。
リクエストが成功した場合のレスポンスは、JSON 形式の Lite サブスクリプションになります。
{ "deliveryConfig": { "deliveryRequirement": DELIVERY_REQUIREMENT, } "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID", "topic": "projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID", }
Go
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Go の設定手順を実施してください。
Java
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Java の設定手順を実施してください。
Python
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Python の設定手順を実施してください。
Lite サブスクリプションの詳細を表示する
Lite トピックの詳細は、Google Cloud コンソール、Google Cloud CLI、または Pub/Sub Lite API を使用して取得できます。
Console
[Lite サブスクリプション] ページに移動します。
[Lite サブスクリプション ID] をクリックします。
Lite サブスクリプションの詳細ページで、[詳細] タブをクリックします。
gcloud
Lite サブスクリプションの詳細を取得するには、gcloud pubsub lite-subscriptions describe
コマンドを使用します。
gcloud pubsub lite-subscriptions describe SUBSCRIPTION_ID \ --location=LOCATION
以下を置き換えます。
SUBSCRIPTION_ID: Lite サブスクリプションの ID
LOCATION: Lite サブスクリプションが含まれるロケーションの名前
リクエストが成功すると、コマンドラインに Lite トピックが表示されます。
deliveryConfig: deliveryRequirement: DELIVERY_REQUIREMENT name: projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID topic: projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID
プロトコル
Lite サブスクリプションの詳細を取得するには、次のような GET
リクエストを送信します。
GET https://REGION-pubsublite.googleapis.com/v1/admin/projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID Authorization: Bearer $(gcloud auth print-access-token)
次のように置き換えます。
REGION: Lite サブスクリプションを保存するリージョン
PROJECT_NUMBER: Lite サブスクリプションを持つプロジェクトのプロジェクト番号
LOCATION: Lite サブスクリプションが含まれるロケーションの名前
SUBSCRIPTION_ID: Lite サブスクリプションの ID
リクエストが成功すると、レスポンスは JSON 形式の Lite トピックになります。
{ "deliveryConfig": { "deliveryRequirement": DELIVERY_REQUIREMENT, } "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID", "topic": "projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID", }
Go
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Go の設定手順を実施してください。
Java
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Java の設定手順を実施してください。
Python
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Python の設定手順を実施してください。
Lite サブスクリプションを一覧表示する
プロジェクト内の Lite サブスクリプションまたは、Lite トピックの Lite サブスクリプションを一覧表示できます。
プロジェクト内の Lite サブスクリプションを一覧表示する
Google Cloud コンソール、Google Cloud CLI、または Pub/Sub Lite API を使用して、プロジェクト内の Lite トピックを一覧表示できます。
Console
[Lite サブスクリプション] ページに移動します。
gcloud
- プロジェクト内の Lite サブスクリプションを一覧表示するには、
gcloud pubsub lite-subscriptions list
コマンドを使用します。
gcloud pubsub lite-subscriptions list \ --location=LOCATION
LOCATION は、Lite サブスクリプションがあるロケーションの名前に置き換えます。
リクエストが成功すると、コマンドラインに Lite サブスクリプションが表示されます。
--- deliveryConfig: deliveryRequirement: DELIVERY_REQUIREMENT name: projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID topic: projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID --- deliveryConfig: deliveryRequirement: DELIVERY_REQUIREMENT name: projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID topic: projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID
プロトコル
- プロジェクト内の Lite サブスクリプションを一覧表示するには、次のように
GET
リクエストを送信します。
GET https://REGION-pubsublite.googleapis.com/v1/admin/projects/PROJECT_NUMBER/subscriptions Authorization: Bearer $(gcloud auth print-access-token)
次のように置き換えます。
REGION: Lite サブスクリプションを保存するリージョン
PROJECT_NUMBER: Lite サブスクリプションを持つプロジェクトのプロジェクト番号
リクエストが成功すると、レスポンスは JSON 形式の Lite トピックになります。
{ "subscriptions": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID" }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID" } ] }
Go
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Go の設定手順を実施してください。
Java
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Java の設定手順を実施してください。
Python
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Python の設定手順を実施してください。
Lite トピックの Lite サブスクリプションを一覧表示する
Google Cloud コンソール、Google Cloud CLI、または Pub/Sub Lite API を使用して、Lite トピックに Lite サブスクリプションを一覧表示できます。
Console
[Lite トピック] ページに移動します。
[Lite トピック ID] を選択します。
[Lite トピック] 詳細ページの [Lite サブスクリプション] セクションに、Lite トピックの Lite サブスクリプションのリストが含まれます。
gcloud
- トピックの Lite サブスクリプションを一覧表示するには、
gcloud pubsub lite-topics list-subscriptions
コマンドを使用します。
gcloud pubsub lite-topics list-subscriptions TOPIC_ID \ --location=LOCATION
以下を置き換えます。
TOPIC_ID: Lite サブスクリプションが関連付けられた Lite トピックの ID
LOCATION: Lite サブスクリプションが含まれるロケーションの名前
リクエストが成功すると、コマンドラインに Lite サブスクリプションが表示されます。
--- deliveryConfig: deliveryRequirement: DELIVERY_REQUIREMENT name: projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID topic: projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID --- deliveryConfig: deliveryRequirement: DELIVERY_REQUIREMENT name: projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID topic: projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID
プロトコル
- Lite トピックの Lite サブスクリプションを一覧表示するには、次のような
GET
リクエストを送信します。
GET https://REGION-pubsublite.googleapis.com/v1/admin/projects/PROJECT_NUMBER/lite-topics/TOPIC_ID/subscriptions Authorization: Bearer $(gcloud auth print-access-token)
次のように置き換えます。
REGION: Lite サブスクリプションを保存するリージョン
PROJECT_NUMBER: Lite サブスクリプションを持つプロジェクトのプロジェクト番号
LOCATION: Lite サブスクリプションが含まれるロケーションの名前
TOPIC_ID: Lite サブスクリプションが関連付けられた Lite トピックの ID
リクエストが成功した場合、レスポンスは JSON 形式の Lite サブスクリプションのリストになります。
{ "subscriptions": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID" }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID" } ] }
Go
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Go の設定手順を実施してください。
Java
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Java の設定手順を実施してください。
Python
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Python の設定手順を実施してください。
Lite サブスクリプションを削除する
Lite サブスクリプションは、Google Cloud コンソール、Google Cloud CLI、または Pub/Sub Lite API を使用して削除できます。
Console
[Lite サブスクリプション] ページに移動します。
[Lite サブスクリプション ID] をクリックします。
[Lite サブスクリプションの詳細] ページで [削除] をクリックします。
表示されたダイアログで [削除] をクリックして、削除する Lite サブスクリプションの削除を確定します。
gcloud
Lite サブスクリプションを削除するには、gcloud pubsub lite-subscriptions delete
コマンドを使用します。
delete
コマンドを実行します。gcloud pubsub lite-subscriptions delete SUBSCRIPTION_ID \ --location=LOCATION
以下を置き換えます。
SUBSCRIPTION_ID: Lite サブスクリプションの ID
LOCATION: Lite サブスクリプションが含まれるロケーションの名前
確定するには「
Y
」と入力します。
リクエストが成功すると、コマンドラインに確認メッセージが表示されます。
Deleted subscription [SUBSCRIPTION_ID].
プロトコル
- Lite トピックを削除するには、次のような
DELETE
リクエストを送信します。
DELETE https://REGION-pubsublite.googleapis.com/v1/admin/projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID Authorization: Bearer $(gcloud auth print-access-token)
次のように置き換えます。
REGION: Lite サブスクリプションを保存するリージョン
PROJECT_NUMBER: Lite サブスクリプションを持つプロジェクトのプロジェクト番号
LOCATION: Lite サブスクリプションが含まれるロケーションの名前
SUBSCRIPTION_ID: Lite サブスクリプションの ID
リクエストが成功した場合のレスポンスは空の JSON オブジェクトです。
Go
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Go の設定手順を実施してください。
Java
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Java の設定手順を実施してください。
Python
このサンプルを実行する前に、Pub/Sub Lite クライアント ライブラリの Python の設定手順を実施してください。
次のステップ
- Lite トピックを作成して管理する。
- Lite トピックにメッセージをパブリッシュする。
- Lite サブスクリプションからメッセージを受信する。