Cloud PubSub V1 Client - Class Topic (2.8.1)

Reference documentation and code samples for the Cloud PubSub V1 Client class Topic.

A topic resource.

Generated from protobuf message google.pubsub.v1.Topic

Namespace

Google \ Cloud \ PubSub \ V1

Methods

__construct

Constructor.

Parameters
Name Description
data array

Optional. Data for populating the Message object.

↳ name string

Required. 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".

↳ labels array|Google\Protobuf\Internal\MapField

Optional. See Creating and managing labels.

↳ message_storage_policy MessageStoragePolicy

Optional. Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect.

↳ kms_key_name string

Optional. 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/*.

↳ schema_settings SchemaSettings

Optional. Settings for validating messages published against a schema.

↳ satisfies_pzs bool

Optional. Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests.

↳ message_retention_duration Google\Protobuf\Duration

Optional. 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.

↳ state int

Output only. An output-only field indicating the state of the topic.

↳ ingestion_data_source_settings IngestionDataSourceSettings

Optional. Settings for ingestion from a data source into this topic.

getName

Required. 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".

Returns
Type Description
string

setName

Required. 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".

Parameter
Name Description
var string
Returns
Type Description
$this

getLabels

Returns
Type Description
Google\Protobuf\Internal\MapField

setLabels

Parameter
Name Description
var array|Google\Protobuf\Internal\MapField
Returns
Type Description
$this

getMessageStoragePolicy

Optional. Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect.

Returns
Type Description
MessageStoragePolicy|null

hasMessageStoragePolicy

clearMessageStoragePolicy

setMessageStoragePolicy

Optional. Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect.

Parameter
Name Description
var MessageStoragePolicy
Returns
Type Description
$this

getKmsKeyName

Optional. 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/*.

Returns
Type Description
string

setKmsKeyName

Optional. 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/*.

Parameter
Name Description
var string
Returns
Type Description
$this

getSchemaSettings

Optional. Settings for validating messages published against a schema.

Returns
Type Description
SchemaSettings|null

hasSchemaSettings

clearSchemaSettings

setSchemaSettings

Optional. Settings for validating messages published against a schema.

Parameter
Name Description
var SchemaSettings
Returns
Type Description
$this

getSatisfiesPzs

Optional. Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests.

Returns
Type Description
bool

setSatisfiesPzs

Optional. Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests.

Parameter
Name Description
var bool
Returns
Type Description
$this

getMessageRetentionDuration

Optional. 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.

Returns
Type Description
Google\Protobuf\Duration|null

hasMessageRetentionDuration

clearMessageRetentionDuration

setMessageRetentionDuration

Optional. 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.

Parameter
Name Description
var Google\Protobuf\Duration
Returns
Type Description
$this

getState

Output only. An output-only field indicating the state of the topic.

Returns
Type Description
int

setState

Output only. An output-only field indicating the state of the topic.

Parameter
Name Description
var int
Returns
Type Description
$this

getIngestionDataSourceSettings

Optional. Settings for ingestion from a data source into this topic.

Returns
Type Description
IngestionDataSourceSettings|null

hasIngestionDataSourceSettings

clearIngestionDataSourceSettings

setIngestionDataSourceSettings

Optional. Settings for ingestion from a data source into this topic.

Parameter
Name Description
var IngestionDataSourceSettings
Returns
Type Description
$this

static::build

Parameter
Name Description
name string

Required. 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".

Returns
Type Description
Topic