Cloud PubSub V1 Client - Class Topic (1.44.0)

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
NameDescription
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

See Creating and managing labels.

↳ message_storage_policy Google\Cloud\PubSub\V1\MessageStoragePolicy

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

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 Google\Cloud\PubSub\V1\SchemaSettings

Settings for validating messages published against a schema.

↳ satisfies_pzs bool

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

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.

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
TypeDescription
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
NameDescription
var string
Returns
TypeDescription
$this

getLabels

Returns
TypeDescription
Google\Protobuf\Internal\MapField

setLabels

Parameter
NameDescription
var array|Google\Protobuf\Internal\MapField
Returns
TypeDescription
$this

getMessageStoragePolicy

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
TypeDescription
Google\Cloud\PubSub\V1\MessageStoragePolicy|null

hasMessageStoragePolicy

clearMessageStoragePolicy

setMessageStoragePolicy

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
NameDescription
var Google\Cloud\PubSub\V1\MessageStoragePolicy
Returns
TypeDescription
$this

getKmsKeyName

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
TypeDescription
string

setKmsKeyName

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
NameDescription
var string
Returns
TypeDescription
$this

getSchemaSettings

Settings for validating messages published against a schema.

Returns
TypeDescription
Google\Cloud\PubSub\V1\SchemaSettings|null

hasSchemaSettings

clearSchemaSettings

setSchemaSettings

Settings for validating messages published against a schema.

Parameter
NameDescription
var Google\Cloud\PubSub\V1\SchemaSettings
Returns
TypeDescription
$this

getSatisfiesPzs

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
TypeDescription
bool

setSatisfiesPzs

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
NameDescription
var bool
Returns
TypeDescription
$this

getMessageRetentionDuration

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
TypeDescription
Google\Protobuf\Duration|null

hasMessageRetentionDuration

clearMessageRetentionDuration

setMessageRetentionDuration

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
NameDescription
var Google\Protobuf\Duration
Returns
TypeDescription
$this

static::build

Parameter
NameDescription
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
TypeDescription
Google\Cloud\PubSub\V1\Topic