Cloud PubSub V1 Client - Class Topic (2.1.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
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

Optional. See Creating and managing labels.

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

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

getSchemaSettings

Optional. Settings for validating messages published against a schema.

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

hasSchemaSettings

clearSchemaSettings

setSchemaSettings

Optional. Settings for validating messages published against a schema.

Parameter
NameDescription
var Google\Cloud\PubSub\V1\SchemaSettings
Returns
TypeDescription
$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
TypeDescription
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
NameDescription
var bool
Returns
TypeDescription
$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
TypeDescription
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
NameDescription
var Google\Protobuf\Duration
Returns
TypeDescription
$this

getState

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

Returns
TypeDescription
int

setState

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

Parameter
NameDescription
var int
Returns
TypeDescription
$this

getIngestionDataSourceSettings

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

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

hasIngestionDataSourceSettings

clearIngestionDataSourceSettings

setIngestionDataSourceSettings

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

Parameter
NameDescription
var Google\Cloud\PubSub\V1\IngestionDataSourceSettings
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