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.
Namespace
Google.Cloud.PubSub.V1Assembly
Google.Cloud.PubSub.V1.dll
Constructors
Topic()
public Topic()
Topic(Topic)
public Topic(Topic other)
Parameter | |
---|---|
Name | Description |
other |
Topic |
Properties
IngestionDataSourceSettings
public IngestionDataSourceSettings IngestionDataSourceSettings { get; set; }
Optional. Settings for ingestion from a data source into this topic.
Property Value | |
---|---|
Type | Description |
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 | |
---|---|
Type | Description |
string |
Labels
public MapField<string, string> Labels { get; }
Optional. See Creating and managing labels.
Property Value | |
---|---|
Type | Description |
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 | |
---|---|
Type | Description |
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 | |
---|---|
Type | Description |
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 | |
---|---|
Type | Description |
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 | |
---|---|
Type | Description |
bool |
SchemaSettings
public SchemaSettings SchemaSettings { get; set; }
Optional. Settings for validating messages published against a schema.
Property Value | |
---|---|
Type | Description |
SchemaSettings |
State
public Topic.Types.State State { get; set; }
Output only. An output-only field indicating the state of the topic.
Property Value | |
---|---|
Type | Description |
TopicTypesState |
TopicName
public TopicName TopicName { get; set; }
Property Value | |
---|---|
Type | Description |
TopicName |