Skip to main content

topics

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

Overview

Nametopics
TypeResource
Idgoogle.pubsub.topics

Fields

NameDatatypeDescription
namestringRequired. The name of the topic. It must have the format "projects/{project}/topics/{topic}". {topic} must start with a letter, and contain only letters ([A-Za-z]), numbers ([0-9]), dashes (-), underscores (_), periods (.), tildes (~), plus (+) or percent signs (%). It must be between 3 and 255 characters in length, and it must not start with "goog".
ingestionDataSourceSettingsobjectSettings for an ingestion data source on a topic.
kmsKeyNamestringOptional. The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic. The expected format is projects/*/locations/*/keyRings/*/cryptoKeys/*.
labelsobjectOptional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).
messageRetentionDurationstringOptional. Indicates the minimum duration to retain a message after it is published to the topic. If this field is set, messages published to the topic in the last message_retention_duration are always available to subscribers. For instance, it allows any attached subscription to seek to a timestamp that is up to message_retention_duration in the past. If this field is not set, message retention is controlled by settings on individual subscriptions. Cannot be more than 31 days or less than 10 minutes.
messageStoragePolicyobjectA policy constraining the storage of messages published to the topic.
satisfiesPzsbooleanOptional. Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests.
schemaSettingsobjectSettings for validating messages published against a schema.
statestringOutput only. An output-only field indicating the state of the topic.

Methods

NameAccessible byRequired ParamsDescription
projects_topics_getSELECTprojectsId, topicsIdGets the configuration of a topic.
projects_topics_listSELECTprojectsIdLists matching topics.
projects_topics_deleteDELETEprojectsId, topicsIdDeletes the topic with the given name. Returns NOT_FOUND if the topic does not exist. After a topic is deleted, a new topic may be created with the same name; this is an entirely new topic with none of the old configuration or subscriptions. Existing subscriptions to this topic are not deleted, but their topic field is set to _deleted-topic_.
projects_topics_patchUPDATEprojectsId, topicsIdUpdates an existing topic by updating the fields specified in the update mask. Note that certain properties of a topic are not modifiable.
projects_topics_createEXECprojectsId, topicsIdCreates the given topic with the given name. See the [resource name rules] (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names).
projects_topics_publishEXECprojectsId, topicsIdAdds one or more messages to the topic. Returns NOT_FOUND if the topic does not exist.

SELECT examples

Lists matching topics.

SELECT
name,
ingestionDataSourceSettings,
kmsKeyName,
labels,
messageRetentionDuration,
messageStoragePolicy,
satisfiesPzs,
schemaSettings,
state
FROM google.pubsub.topics
WHERE projectsId = '{{ projectsId }}';

UPDATE example

Updates a topics resource.

/*+ update */
UPDATE google.pubsub.topics
SET
topic = '{{ topic }}',
updateMask = '{{ updateMask }}'
WHERE
projectsId = '{{ projectsId }}'
AND topicsId = '{{ topicsId }}';

DELETE example

Deletes the specified topics resource.

/*+ delete */
DELETE FROM google.pubsub.topics
WHERE projectsId = '{{ projectsId }}'
AND topicsId = '{{ topicsId }}';