Class PublisherClient (3.2.0)

Stay organized with collections Save and categorize content based on your preferences.
public abstract class PublisherClient

A PubSub publisher that is associated with a specific TopicName.

Inheritance

Object > PublisherClient

Derived Types

Namespace

Google.Cloud.PubSub.V1

Assembly

Google.Cloud.PubSub.V1.dll

Properties

ApiMaxBatchingSettings

public static BatchingSettings ApiMaxBatchingSettings { get; }

The absolute maximum BatchingSettings supported by the service. Maximum values are: ElementCountThreshold = 1,000; ByteCountThreshold = 10,000,000;

Property Value
TypeDescription
BatchingSettings

DefaultBatchingSettings

public static BatchingSettings DefaultBatchingSettings { get; }

Default BatchingSettings for PublisherClient. Default values are: ElementCountThreshold = 100; ByteCountThreshold = 1,000,000; DelayThreshold = 10 milliseconds;

Property Value
TypeDescription
BatchingSettings

TopicName

public virtual TopicName TopicName { get; }

The associated TopicName.

Property Value
TypeDescription
TopicName

Methods

Create(TopicName)

public static PublisherClient Create(TopicName topicName)

Create a PublisherClient instance associated with the specified TopicName, using default settings.

Parameter
NameDescription
topicNameTopicName

The TopicName to publish messages to. Must not be null.

Returns
TypeDescription
PublisherClient

A PublisherClient instance associated with the specified TopicName.

Create(TopicName, PublisherClient.ClientCreationSettings, PublisherClient.Settings)

[Obsolete("Use PublisherClient.Create(TopicName) to use the default settings, or PublisherClientBuilder for customization.")]
public static PublisherClient Create(TopicName topicName, PublisherClient.ClientCreationSettings clientCreationSettings = null, PublisherClient.Settings settings = null)

Create a PublisherClient instance associated with the specified TopicName. The default settings and clientCreationSettings are suitable for machines with high network bandwidth (e.g. Google Compute Engine instances). If running with more limited network bandwidth, some settings may need changing; especially PublisherServiceApiSettings.PublishSettings.Retry. By default this method generates a gRPC channel per CPU core; if using a high-core-count machine and using many clients concurrently then this may need reducing; use the setting ClientCount.

Parameters
NameDescription
topicNameTopicName

The TopicName to publish messages to. Must not be null.

clientCreationSettingsPublisherClient.ClientCreationSettings

Optional. PublisherClient.ClientCreationSettings specifying how to create PublisherServiceApiClients.

settingsPublisherClient.Settings

Optional. PublisherClient.Settings for creating a PublisherClient.

Returns
TypeDescription
PublisherClient

A PublisherClient instance associated with the specified TopicName.

CreateAsync(TopicName)

public static Task<PublisherClient> CreateAsync(TopicName topicName)

Creates a PublisherClient instance associated with the specified TopicName, using default settings.

Parameter
NameDescription
topicNameTopicName

The TopicName to publish messages to. Must not be null.

Returns
TypeDescription
Task<PublisherClient>

A PublisherClient instance associated with the specified TopicName.

CreateAsync(TopicName, PublisherClient.ClientCreationSettings, PublisherClient.Settings)

[Obsolete("Use PublisherClient.CreateAsync(TopicName) to use the default settings, or PublisherClientBuilder for customization.")]
public static Task<PublisherClient> CreateAsync(TopicName topicName, PublisherClient.ClientCreationSettings clientCreationSettings = null, PublisherClient.Settings settings = null)

Create a PublisherClient instance associated with the specified TopicName. The default settings and clientCreationSettings are suitable for machines with high network bandwidth (e.g. Google Compute Engine instances). If running with more limited network bandwidth, some settings may need changing; especially PublisherServiceApiSettings.PublishSettings.Retry. By default this method generates a gRPC channel per CPU core; if using a high-core-count machine and using many clients concurrently then this may need reducing; use the setting ClientCount.

Parameters
NameDescription
topicNameTopicName

The TopicName to publish messages to. Must not be null.

clientCreationSettingsPublisherClient.ClientCreationSettings

Optional. PublisherClient.ClientCreationSettings specifying how to create PublisherServiceApiClients.

settingsPublisherClient.Settings

Optional. PublisherClient.Settings for creating a PublisherClient.

Returns
TypeDescription
Task<PublisherClient>

A PublisherClient instance associated with the specified TopicName.

PublishAsync(PubsubMessage)

public virtual Task<string> PublishAsync(PubsubMessage message)

Publish a message to the topic specified in TopicName.

Parameter
NameDescription
messagePubsubMessage

The PubsubMessage to publish.

Returns
TypeDescription
Task<String>

A task which completes once the message has been published. The task Result contains the message ID.

PublishAsync(ByteString)

public virtual Task<string> PublishAsync(ByteString message)

Publish a message to the topic specified in TopicName.

Parameter
NameDescription
messageByteString

The ByteString to publish.

Returns
TypeDescription
Task<String>

A task which completes once the message has been published. The task Result contains the message ID.

PublishAsync(IMessage)

public virtual Task<string> PublishAsync(IMessage message)

Publish a message to the topic specified in TopicName.

Parameter
NameDescription
messageIMessage

The message to publish.

Returns
TypeDescription
Task<String>

A task which completes once the message has been published. The task Result contains the message ID.

PublishAsync(Byte[])

public virtual Task<string> PublishAsync(byte[] message)

Publish a message to the topic specified in TopicName.

Parameter
NameDescription
messageByte[]

The message to publish.

Returns
TypeDescription
Task<String>

A task which completes once the message has been published. The task Result contains the message ID.

PublishAsync(String, ByteString)

public virtual Task<string> PublishAsync(string orderingKey, ByteString message)

Publish a message to the topic specified in TopicName.

Parameters
NameDescription
orderingKeyString

The ordering key to use for this message.

messageByteString

The ByteString to publish.

Returns
TypeDescription
Task<String>

A task which completes once the message has been published. The task Result contains the message ID.

PublishAsync(String, IMessage)

public virtual Task<string> PublishAsync(string orderingKey, IMessage message)

Publish a message to the topic specified in TopicName.

Parameters
NameDescription
orderingKeyString

The ordering key to use for this message.

messageIMessage

The message to publish.

Returns
TypeDescription
Task<String>

A task which completes once the message has been published. The task Result contains the message ID.

PublishAsync(String, Byte[])

public virtual Task<string> PublishAsync(string orderingKey, byte[] message)

Publish a message to the topic specified in TopicName.

Parameters
NameDescription
orderingKeyString

The ordering key to use for this message.

messageByte[]

The message to publish.

Returns
TypeDescription
Task<String>

A task which completes once the message has been published. The task Result contains the message ID.

PublishAsync(String, String, Encoding)

public virtual Task<string> PublishAsync(string orderingKey, string message, Encoding encoding = null)

Publish a message to the topic specified in TopicName.

Parameters
NameDescription
orderingKeyString

The ordering key to use for this message.

messageString

The string to publish.

encodingEncoding

The encoding for string to byte conversion. If null, defaults to UTF8.

Returns
TypeDescription
Task<String>

A task which completes once the message has been published. The task Result contains the message ID.

PublishAsync(String, Encoding)

public virtual Task<string> PublishAsync(string message, Encoding encoding = null)

Publish a message to the topic specified in TopicName.

Parameters
NameDescription
messageString

The string to publish.

encodingEncoding

The encoding for string to byte conversion. If null, defaults to UTF8.

Returns
TypeDescription
Task<String>

A task which completes once the message has been published. The task Result contains the message ID.

ResumePublish(String)

public virtual void ResumePublish(string orderingKey)

Re-enable publishing the the given ordering key, after an error has caused the ordering key to be disabled.

Parameter
NameDescription
orderingKeyString

The ordering key to re-enable.

ShutdownAsync(CancellationToken)

public virtual Task ShutdownAsync(CancellationToken hardStopToken)

Shutdown this PublisherClient. Cancelling hardStopToken aborts the clean shutdown process, and may leave some locally queued messages unsent. The returned Task completes when all queued messages have been published. The returned Task cancels if hardStopToken is cancelled.

Parameter
NameDescription
hardStopTokenCancellationToken

Cancel this CancellationToken to abort publishing queued messages.

Returns
TypeDescription
Task

A Task that completes when all queued messages have been published; or cancels if hardStopToken is cancelled.

ShutdownAsync(TimeSpan)

public virtual Task ShutdownAsync(TimeSpan timeout)

Shutdown this PublisherClient. If timeout expires, the clean shutdown process will abort; leaving some locally queued messages unsent. The returned Task completes when all queued messages have been published. The returned Task cancels if the timeout expires before all messages are published.

Parameter
NameDescription
timeoutTimeSpan

After this period, abort publishing queued messages.

Returns
TypeDescription
Task

A Task that completes when all queued messages have been published; or cancels if timeout expires.