Cloud Pub/Sub v1 API - Class PublisherClientBuilder (3.17.0)

public sealed class PublisherClientBuilder : ClientBuilderBase<PublisherClient>

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

Builder class for PublisherClient to provide simple configuration of credentials, endpoint, client count, publication settings etc.

Inheritance

object > ClientBuilderBasePublisherClient > PublisherClientBuilder

Namespace

Google.Cloud.PubSub.V1

Assembly

Google.Cloud.PubSub.V1.dll

Constructors

PublisherClientBuilder()

public PublisherClientBuilder()

Creates a new instance with default settings. TopicName must be set before calling either Build() or BuildAsync(CancellationToken).

Properties

ApiSettings

public PublisherServiceApiSettings ApiSettings { get; set; }

The settings to use when creating PublisherServiceApiClient instances. Default settings will be used if this is null.

Property Value
Type Description
PublisherServiceApiSettings

ClientCount

public int? ClientCount { get; set; }

The number of PublisherServiceApiClients to create and use within a PublisherClient instance. If this is null, the number of clients created will depend on the processor count.

Property Value
Type Description
int

EmulatorDetection

public EmulatorDetection EmulatorDetection { get; set; }

Specifies how to respond to the presence of emulator environment variables.

Property Value
Type Description
EmulatorDetection
Remarks

This property defaults to None, meaning that environment variables are ignored.

Settings

public PublisherClient.Settings Settings { get; set; }

Additional settings for batching, message ordering etc. Default settings will be used if this is null.

Property Value
Type Description
PublisherClientSettings

TopicName

public TopicName TopicName { get; set; }

The name of the topic that the publisher publishes to. This must be non-null by the time Build() or BuildAsync(CancellationToken) is called.

Property Value
Type Description
TopicName

Methods

Build()

public override PublisherClient Build()

Builds the resulting client.

Returns
Type Description
PublisherClient
Overrides
Google.Api.Gax.Grpc.ClientBuilderBase<Google.Cloud.PubSub.V1.PublisherClient>.Build()

BuildAsync(CancellationToken)

public override Task<PublisherClient> BuildAsync(CancellationToken cancellationToken = default)

Builds the resulting client asynchronously.

Parameter
Name Description
cancellationToken CancellationToken
Returns
Type Description
TaskPublisherClient
Overrides
Google.Api.Gax.Grpc.ClientBuilderBase<Google.Cloud.PubSub.V1.PublisherClient>.BuildAsync(System.Threading.CancellationToken)

GetChannelPool()

protected override ChannelPool GetChannelPool()

Returns the channel pool to use when no other options are specified. This method is not called unless CanUseChannelPool returns true, so if a channel pool is unavailable, override that property to return false and throw an exception from this method.

Returns
Type Description
ChannelPool
Overrides
Google.Api.Gax.Grpc.ClientBuilderBase<Google.Cloud.PubSub.V1.PublisherClient>.GetChannelPool()

Validate()

protected override void Validate()

Validates that the builder is in a consistent state for building. For example, it's invalid to call Build() on an instance which has both JSON credentials and a credentials path specified.

Overrides
Google.Api.Gax.Grpc.ClientBuilderBase<Google.Cloud.PubSub.V1.PublisherClient>.Validate()
Exceptions
Type Description
InvalidOperationException

The builder is in an invalid state.