Subscribers use a Lite subscription to read messages from a Lite topic. When you create a Lite subscription, you attach it to a Lite topic. You can attach many Lite subscriptions to a single Lite topic.
There are two types of subscription:
- Standard subscription. Create a standard subscription when you have a client that needs to read messages from the Lite topic topic.
- Export subscription. Create an export subscription when you need to export Lite messages to Pub/Sub. For more information, see Export Pub/Sub Lite messages to Pub/Sub.
Properties of a Lite subscription
A subscription for a zonal Lite topic has identical properties to a subscription for a regional Lite topic, except for the following:
Location type, a zone or a region, used in the resource name. An example of a region location is
us-central1
; an example of a zone location isus-central1-a
.Reliability. See Data replication in a Lite topic to learn more about reliability differences between regional and zonal topics.
Delivery requirement for messages
A temporary failure in writing a message to storage causes the publisher to retry sending the message. These retries are transparent to the end-user. Lite subscriptions have a delivery requirement property that changes how subscriptions react to these message retries. You can set this property to one of the following two options:
Deliver messages immediately. With this option enabled, the subscriber clients receive all messages after they arrive at the server. This process is not dependent on the status of the messages being written to disk. Offsets are not reused, but messages with offsets that are not written to storage might not be re-readable following a seek operation.
Deliver messages after stored. With this option enabled, the subscriber does not receive messages until they are written to disk. The messages are guaranteed to be re-readable after a seek operation. Enabling this option increases the end-to-end latency for receiving messages from the publisher to the subscriber.
Guidelines to name a subscription
A Pub/Sub Lite resource name uniquely identifies a Pub/Sub Lite resource, such as a topic, subscription, or reservation. The resource name must fit the following format:
projects/project-identifier/collection/ID
project-identifier
: Must be the project ID or project number, available from the Google Cloud console. For example,my-cool-project
is a project ID.123456789123
is a project number.collection
: Must be one oftopics
,subscriptions
, orreservations
.ID
: Must conform to the following guidelines:- Not begin with the string
goog
- Start with a letter
- Contain between 3 and 255 characters
- Contain only the following characters: Letters
[A-Za-z]
, numbers[0-9]
, dashes-
, underscores_
, periods.
, tildes~
, plus signs+
, and percent signs%
You can use the special characters in the preceding list in resource names without URL-encoding. However, you must ensure that any other special characters are properly encoded or decoded when you use them in URLs. For example,
mi-tópico
is an invalid ID. However,mi-t%C3%B3pico
is valid. This format is important when you make REST calls.- Not begin with the string
Create a Lite subscription
A Lite subscription must be in the same project and location as the Lite topic to which the Lite subscription is attached.
To create a Lite topic, see Create and manage a Lite topic.
For a list of the available locations, see Pub/Sub Lite locations.
You can create a Lite subscription with the Google Cloud console, the Google Cloud CLI, or the Pub/Sub Lite API.
For information about creating an export subscription, see Export Pub/Sub Lite messages to Pub/Sub.
Console
Go to the Lite Subscriptions page.
Click Create Lite subscription.
Enter a Lite subscription ID.
Choose a Lite topic to receive messages from.
Choose Deliver messages immediately or Deliver messages after stored.
Choose a type of Starting offset.
Choose a Delivery type.
Click Create.
gcloud
To create a Lite subscription, use the
gcloud pubsub lite-subscriptions create
command:
gcloud pubsub lite-subscriptions create SUBSCRIPTION_ID \ --location=LOCATION \ --topic=TOPIC_ID \ --delivery-requirement=DELIVERY_REQUIREMENT
Replace the following:
SUBSCRIPTION_ID: the ID of the Lite subscription
LOCATION: the name of a location that Pub/Sub Lite supports
TOPIC_ID: the ID of the Lite topic to attach to the Lite subscription
DELIVERY_REQUIREMENT:
deliver-after-stored
ordeliver-immediately
If the request is successful, the command line displays a confirmation:
Created [SUBSCRIPTION_ID].
Protocol
To create a Lite subscription, send a POST
request like the following:
POST https://REGION-pubsublite.googleapis.com/v1/admin/projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID Authorization: Bearer $(gcloud auth print-access-token)
Replace the following:
REGION: the region to store the Lite subscription in
PROJECT_NUMBER: the project number of the project to create the Lite subscription in
LOCATION: the name of a location that Pub/Sub Lite supports
SUBSCRIPTION_ID: the ID of the Lite subscription
Specify the following fields in the request body:
{ "topic": projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID, "deliveryConfig": { "deliveryRequirement": DELIVERY_REQUIREMENT, } }
Replace DELIVERY_REQUIREMENT with deliver-after-stored
or
deliver-immediately
.
If the request is successful, the response is the Lite subscription in JSON format:
{ "deliveryConfig": { "deliveryRequirement": DELIVERY_REQUIREMENT, } "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID", "topic": "projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID", }
Go
Before running this sample, follow the Go setup instructions in Pub/Sub Lite Client Libraries.
Java
Before running this sample, follow the Java setup instructions in Pub/Sub Lite Client Libraries.
Python
Before running this sample, follow the Python setup instructions in Pub/Sub Lite Client Libraries.
After creating a Lite subscription to a Lite topic, you can receive messages from the Lite subscription.
Update a Lite subscription
You can update Lite subscriptions with the Google Cloud console, the Google Cloud CLI, or the Pub/Sub Lite API.
Console
Go to the Lite Subscriptions page.
Click the Lite subscription ID.
In the Lite subscription details page, click Edit.
gcloud
To update a Lite subscription, use the
gcloud pubsub lite-subscriptions update
command:
gcloud pubsub lite-subscriptions update SUBSCRIPTION_ID \ --location=LOCATION \ --delivery-requirement=DELIVERY_REQUIREMENT
Replace the following:
SUBSCRIPTION_ID: the ID of the Lite subscription
LOCATION: the name of the location that the Lite subscription is in
DELIVERY_REQUIREMENT:
deliver-after-stored
ordeliver-immediately
If the request is successful, the command line displays the Lite subscription:
deliveryConfig: deliveryRequirement: DELIVERY_REQUIREMENT name: projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID topic: projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID
Protocol
To update a Lite subscription, send a PATCH
request like the following:
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)
Replace the following:
REGION: the region to store the Lite subscription in
PROJECT_NUMBER: the project number of the project with the Lite subscription
LOCATION: the name of the location that the Lite subscription is in
SUBSCRIPTION_ID: the ID of the Lite subscription
Specify the following fields in the request body:
{ "deliveryConfig": { "deliveryRequirement": DELIVERY_REQUIREMENT, } }
Replace DELIVERY_REQUIREMENT with deliver-after-stored
or
deliver-immediately
.
If the request is successful, the response is the Lite subscription in JSON format:
{ "deliveryConfig": { "deliveryRequirement": DELIVERY_REQUIREMENT, } "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID", "topic": "projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID", }
Go
Before running this sample, follow the Go setup instructions in Pub/Sub Lite Client Libraries.
Java
Before running this sample, follow the Java setup instructions in Pub/Sub Lite Client Libraries.
Python
Before running this sample, follow the Python setup instructions in Pub/Sub Lite Client Libraries.
View Lite subscription details
You can get details about a Lite subscription using the Google Cloud console, the Google Cloud CLI, or the Pub/Sub Lite API.
Console
Go to the Lite Subscriptions page.
Click the Lite subscription ID.
In the Lite subscription details page, click the Details tab.
gcloud
To get details about a Lite subscription, use the
gcloud pubsub lite-subscriptions describe
command:
gcloud pubsub lite-subscriptions describe SUBSCRIPTION_ID \ --location=LOCATION
Replace the following:
SUBSCRIPTION_ID: the ID of the Lite subscription
LOCATION: the name of the location that the Lite subscription is in
If the request is successful, the command line displays the Lite topic:
deliveryConfig: deliveryRequirement: DELIVERY_REQUIREMENT name: projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID topic: projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID
Protocol
To get details about a Lite subscription, send a GET
request like the
following:
GET https://REGION-pubsublite.googleapis.com/v1/admin/projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID Authorization: Bearer $(gcloud auth print-access-token)
Replace the following:
REGION: the region to store the Lite subscription in
PROJECT_NUMBER: the project number of the project with the Lite subscription
LOCATION: the name of the location that the Lite subscription is in
SUBSCRIPTION_ID: the ID of the Lite subscription
If the request is successful, the response is the Lite topic in JSON format:
{ "deliveryConfig": { "deliveryRequirement": DELIVERY_REQUIREMENT, } "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID", "topic": "projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID", }
Go
Before running this sample, follow the Go setup instructions in Pub/Sub Lite Client Libraries.
Java
Before running this sample, follow the Java setup instructions in Pub/Sub Lite Client Libraries.
Python
Before running this sample, follow the Python setup instructions in Pub/Sub Lite Client Libraries.
List Lite subscriptions
You can list the Lite subscriptions in a project or the Lite subscriptions to a Lite topic.
List Lite subscriptions in a project
You can list Lite subscriptions in a project using the Google Cloud console, the Google Cloud CLI, or the Pub/Sub Lite API.
Console
Go to the Lite Subscriptions page.
gcloud
- To list the Lite subscriptions in a project, use the
gcloud pubsub lite-subscriptions list
command:
gcloud pubsub lite-subscriptions list \ --location=LOCATION
Replace LOCATION with the name of the location that the Lite subscriptions are in.
If the request is successful, the command line displays the Lite subscriptions:
--- 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
Protocol
- To list the Lite subscriptions in a project, send a
GET
request like the following:
GET https://REGION-pubsublite.googleapis.com/v1/admin/projects/PROJECT_NUMBER/subscriptions Authorization: Bearer $(gcloud auth print-access-token)
Replace the following:
REGION: the region to store the Lite subscription in
PROJECT_NUMBER: the project number of the project with the Lite subscription
If the request is successful, the response is the Lite topic in JSON format:
{ "subscriptions": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID" }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID" } ] }
Go
Before running this sample, follow the Go setup instructions in Pub/Sub Lite Client Libraries.
Java
Before running this sample, follow the Java setup instructions in Pub/Sub Lite Client Libraries.
Python
Before running this sample, follow the Python setup instructions in Pub/Sub Lite Client Libraries.
Listing Lite subscriptions to a Lite topic
You can list Lite subscriptions to a Lite topic using the Google Cloud console, the Google Cloud CLI, or the Pub/Sub Lite API.
Console
Go to the Lite Topics page.
Select a Lite topic ID.
In the Lite topics details page, the Lite subscriptions section includes a list of Lite subscriptions to the Lite topic.
gcloud
- To list the Lite subscriptions to a topic, use the
gcloud pubsub lite-topics list-subscriptions
command:
gcloud pubsub lite-topics list-subscriptions TOPIC_ID \ --location=LOCATION
Replace the following:
TOPIC_ID: the ID of the Lite topic that the Lite subscriptions are attached to
LOCATION: the name of the location that the Lite subscription is in
If the request is successful, the command line displays the Lite subscriptions:
--- 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
Protocol
- To list the Lite subscriptions to a Lite topic, send a
GET
request like the following:
GET https://REGION-pubsublite.googleapis.com/v1/admin/projects/PROJECT_NUMBER/lite-topics/TOPIC_ID/subscriptions Authorization: Bearer $(gcloud auth print-access-token)
Replace the following:
REGION: the region to store the Lite subscription in
PROJECT_NUMBER: the project number of the project with the Lite subscription
LOCATION: the name of the location that the Lite subscription is in
TOPIC_ID: the ID of the Lite topic that the Lite subscriptions are attached to
If the request is successful, the response is a list of Lite subscriptions in JSON format:
{ "subscriptions": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID" }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID" } ] }
Go
Before running this sample, follow the Go setup instructions in Pub/Sub Lite Client Libraries.
Java
Before running this sample, follow the Java setup instructions in Pub/Sub Lite Client Libraries.
Python
Before running this sample, follow the Python setup instructions in Pub/Sub Lite Client Libraries.
Delete a Lite subscription
You can delete Lite subscriptions with the Google Cloud console, the Google Cloud CLI, or the Pub/Sub Lite API.
Console
Go to the Lite Subscriptions page.
Click the Lite subscription ID.
In the Lite subscription details page, click Delete.
In the dialog that appears, click Delete to confirm that you want to delete the Lite subscription.
gcloud
To delete a Lite subscription, use the
gcloud pubsub lite-subscriptions delete
command:
Run the
delete
command:gcloud pubsub lite-subscriptions delete SUBSCRIPTION_ID \ --location=LOCATION
Replace the following:
SUBSCRIPTION_ID: the ID of the Lite subscription
LOCATION: the name of the location that the Lite subscription is in
To confirm, type
Y
.
If the request is successful, the command line displays a confirmation:
Deleted subscription [SUBSCRIPTION_ID].
Protocol
- To delete a Lite topic, send a
DELETE
request like the following:
DELETE https://REGION-pubsublite.googleapis.com/v1/admin/projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID Authorization: Bearer $(gcloud auth print-access-token)
Replace the following:
REGION: the region to store the Lite subscription in
PROJECT_NUMBER: the project number of the project with the Lite subscription
LOCATION: the name of the location that the Lite subscription is in
SUBSCRIPTION_ID: the ID of the Lite subscription
If the request is successful, the response is an empty JSON object.
Go
Before running this sample, follow the Go setup instructions in Pub/Sub Lite Client Libraries.
Java
Before running this sample, follow the Java setup instructions in Pub/Sub Lite Client Libraries.
Python
Before running this sample, follow the Python setup instructions in Pub/Sub Lite Client Libraries.
What's Next
- Create and manage a Lite topic.
- Publish messages to a Lite topic.
- Receive messages from a Lite subscription.