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 \ V1Methods
__construct
Constructor.
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
↳ 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"
.
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"
.
var
string
$this
getLabels
Optional. See Creating and managing labels .
setLabels
Optional. See Creating and managing labels .
$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.
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.
$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/*
.
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/*
.
var
string
$this
getSchemaSettings
Optional. Settings for validating messages published against a schema.
hasSchemaSettings
clearSchemaSettings
setSchemaSettings
Optional. Settings for validating messages published against a schema.
$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.
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.
var
bool
$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.
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.
$this
getState
Output only. An output-only field indicating the state of the topic.
int
setState
Output only. An output-only field indicating the state of the topic.
var
int
$this
getIngestionDataSourceSettings
Optional. Settings for ingestion from a data source into this topic.
hasIngestionDataSourceSettings
clearIngestionDataSourceSettings
setIngestionDataSourceSettings
Optional. Settings for ingestion from a data source into this topic.
$this
static::build
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"
.