Skip to main content

subscriptions

Creates, updates, deletes, gets or lists a subscriptions resource.

Overview

Namesubscriptions
TypeResource
Idgoogle.pubsub.subscriptions

Fields

The following fields are returned by SELECT queries:

Successful response

NameDatatypeDescription

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
projects_topics_subscriptions_listselectprojectsId, topicsIdpageSize, pageTokenLists the names of the attached subscriptions on this topic.
projects_subscriptions_getselectprojectsId, subscriptionsIdGets the configuration details of a subscription.
projects_subscriptions_listselectprojectsIdpageSize, pageTokenLists matching subscriptions.
projects_subscriptions_patchupdateprojectsId, subscriptionsIdUpdates an existing subscription by updating the fields specified in the update mask. Note that certain properties of a subscription, such as its topic, are not modifiable.
projects_subscriptions_deletedeleteprojectsId, subscriptionsIdDeletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to Pull after deletion will return NOT_FOUND. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified.
projects_subscriptions_detachexecprojectsId, subscriptionsIdDetaches a subscription from this topic. All messages retained in the subscription are dropped. Subsequent Pull and StreamingPull requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will stop.
projects_subscriptions_createexecprojectsId, subscriptionsIdCreates a subscription to a given topic. See the [resource name rules] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the [resource name format] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request.
projects_subscriptions_modify_ack_deadlineexecprojectsId, subscriptionsIdModifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level ackDeadlineSeconds used for subsequent messages.
projects_subscriptions_acknowledgeexecprojectsId, subscriptionsIdAcknowledges the messages associated with the ack_ids in the AcknowledgeRequest. The Pub/Sub system can remove the relevant messages from the subscription. Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.
projects_subscriptions_pullexecprojectsId, subscriptionsIdPulls messages from the server.
projects_subscriptions_modify_push_configexecprojectsId, subscriptionsIdModifies the PushConfig for a specified subscription. This may be used to change a push subscription to a pull one (signified by an empty PushConfig) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the PushConfig.
projects_subscriptions_seekexecprojectsId, subscriptionsIdSeeks an existing subscription to a point in time or to a given snapshot, whichever is provided in the request. Snapshots are used in [Seek] (https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. Note that both the subscription and the snapshot must be on the same topic.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
projectsIdstring
subscriptionsIdstring
topicsIdstring
pageSizeinteger (int32)
pageTokenstring

SELECT examples

Lists the names of the attached subscriptions on this topic.

SELECT
*
FROM google.pubsub.subscriptions
WHERE projectsId = '{{ projectsId }}' -- required
AND topicsId = '{{ topicsId }}' -- required
AND pageSize = '{{ pageSize }}'
AND pageToken = '{{ pageToken }}';

UPDATE examples

Updates an existing subscription by updating the fields specified in the update mask. Note that certain properties of a subscription, such as its topic, are not modifiable.

UPDATE google.pubsub.subscriptions
SET
data__subscription = '{{ subscription }}',
data__updateMask = '{{ updateMask }}'
WHERE
projectsId = '{{ projectsId }}' --required
AND subscriptionsId = '{{ subscriptionsId }}' --required
RETURNING
name,
ackDeadlineSeconds,
analyticsHubSubscriptionInfo,
bigqueryConfig,
cloudStorageConfig,
deadLetterPolicy,
detached,
enableExactlyOnceDelivery,
enableMessageOrdering,
expirationPolicy,
filter,
labels,
messageRetentionDuration,
messageTransforms,
pushConfig,
retainAckedMessages,
retryPolicy,
state,
topic,
topicMessageRetentionDuration;

DELETE examples

Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to Pull after deletion will return NOT_FOUND. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified.

DELETE FROM google.pubsub.subscriptions
WHERE projectsId = '{{ projectsId }}' --required
AND subscriptionsId = '{{ subscriptionsId }}' --required;

Lifecycle Methods

Detaches a subscription from this topic. All messages retained in the subscription are dropped. Subsequent Pull and StreamingPull requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will stop.

EXEC google.pubsub.subscriptions.projects_subscriptions_detach 
@projectsId='{{ projectsId }}' --required,
@subscriptionsId='{{ subscriptionsId }}' --required;