Google Cloud Spanner v1 API - Class SpannerClientBuilder (5.0.0-beta04)

public sealed class SpannerClientBuilder : ClientBuilderBase<SpannerClient>

Reference documentation and code samples for the Google Cloud Spanner v1 API class SpannerClientBuilder.

Builder class for SpannerClient to provide simple configuration of credentials, endpoint etc.

Inheritance

object > ClientBuilderBaseSpannerClient > SpannerClientBuilder

Namespace

Google.Cloud.Spanner.V1

Assembly

Google.Cloud.Spanner.V1.dll

Constructors

SpannerClientBuilder()

public SpannerClientBuilder()

Creates a new builder with default settings.

Properties

DirectedReadOptions

public DirectedReadOptions DirectedReadOptions { get; set; }

Specifies which replicas or regions should be used for non-transactional reads or queries.

Property Value
Type Description
DirectedReadOptions
Remarks

These options will be applied to ExecuteSql, ExecuteStreamingSql, Read and StreamingRead operations being executed within a single use or read-only transaction. Otherwise, they will be ignored. For these options to be automatically applied to requests, use PooledSession to execute operations instead of SpannerClient directly.

EmulatorDetection

public EmulatorDetection EmulatorDetection { get; set; }

Specifies how the builder responds to the presence of emulator environment variables.

Property Value
Type Description
EmulatorDetection
Remarks

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

EnvironmentVariableProvider

public Func<string, string> EnvironmentVariableProvider { get; set; }

An environment variable provider function (variable -> value) that is used during emulator environment detection. This is provided for testability, so that clients are able to test how they would connect based on emulator environment variables. This is not expected to be used in production code. The default value of null indicates "use the regular process environment variables".

Property Value
Type Description
Funcstringstring

LeaderRoutingEnabled

public bool LeaderRoutingEnabled { get; set; }

Specifies whether leader routing is enabled or not. This is true by default.

Property Value
Type Description
bool
Remarks

If this value is true some operations will always be explicitly routed to the leader, some operations will never be explicitly routed to the leader, and some operations will be routed to the leader depending on the transaction type they are using.

Settings

public SpannerSettings Settings { get; set; }

The settings to use for RPCs, or null for the default settings.

Property Value
Type Description
SpannerSettings

Methods

Build()

public override SpannerClient Build()

Builds the resulting client.

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

BuildAsync(CancellationToken)

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

Builds the resulting client asynchronously.

Parameter
Name Description
cancellationToken CancellationToken
Returns
Type Description
TaskSpannerClient
Overrides
Google.Api.Gax.Grpc.ClientBuilderBase<Google.Cloud.Spanner.V1.SpannerClient>.BuildAsync(System.Threading.CancellationToken)

GetChannelPool()

protected override ChannelPool GetChannelPool()

Returns the channel pool to use when no other options are specified.

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

MaybeCreateEmulatorClientBuilder()

public SpannerClientBuilder MaybeCreateEmulatorClientBuilder()

May return a builder that will connect to the emulator under certain conditions.

Returns
Type Description
SpannerClientBuilder
Remarks

It returns null if the emulator should not be used, e.g. if EmulatorDetection is EmulatorOrProduction but the environment variable isn't configured. Otherwise, returns a builder with the endpoint and credentials set appropriately for the emulator.