Cloud Pub/Sub v1 API - Class Topic (3.12.0)

public sealed class Topic : IMessage<Topic>, IEquatable<Topic>, IDeepCloneable<Topic>, IBufferMessage, IMessage

Reference documentation and code samples for the Cloud Pub/Sub v1 API class Topic.

A topic resource.

Inheritance

object > Topic

Namespace

Google.Cloud.PubSub.V1

Assembly

Google.Cloud.PubSub.V1.dll

Constructors

Topic()

public Topic()

Topic(Topic)

public Topic(Topic other)
Parameter
NameDescription
otherTopic

Properties

IngestionDataSourceSettings

public IngestionDataSourceSettings IngestionDataSourceSettings { get; set; }

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

Property Value
TypeDescription
IngestionDataSourceSettings

KmsKeyName

public string KmsKeyName { get; set; }

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

Property Value
TypeDescription
string

Labels

public MapField<string, string> Labels { get; }
Property Value
TypeDescription
MapFieldstringstring

MessageRetentionDuration

public Duration MessageRetentionDuration { get; set; }

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.

Property Value
TypeDescription
Duration

MessageStoragePolicy

public MessageStoragePolicy MessageStoragePolicy { get; set; }

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.

Property Value
TypeDescription
MessageStoragePolicy

Name

public string Name { get; set; }

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

Property Value
TypeDescription
string

SatisfiesPzs

public bool SatisfiesPzs { get; set; }

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.

Property Value
TypeDescription
bool

SchemaSettings

public SchemaSettings SchemaSettings { get; set; }

Optional. Settings for validating messages published against a schema.

Property Value
TypeDescription
SchemaSettings

State

public Topic.Types.State State { get; set; }

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

Property Value
TypeDescription
TopicTypesState

TopicName

public TopicName TopicName { get; set; }

TopicName-typed view over the Name resource name property.

Property Value
TypeDescription
TopicName