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

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
TypeDescription
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
TypeDescription
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
TypeDescription
Funcstringstring

LeaderRoutingEnabled

public bool LeaderRoutingEnabled { get; set; }

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

Property Value
TypeDescription
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
TypeDescription
SpannerSettings

Methods

Build()

public override SpannerClient Build()

Builds the resulting client.

Returns
TypeDescription
SpannerClient
Overrides

BuildAsync(CancellationToken)

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

Builds the resulting client asynchronously.

Parameter
NameDescription
cancellationTokenCancellationToken
Returns
TypeDescription
TaskSpannerClient
Overrides

GetChannelPool()

protected override ChannelPool GetChannelPool()

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

Returns
TypeDescription
ChannelPool
Overrides

MaybeCreateEmulatorClientBuilder()

public SpannerClientBuilder MaybeCreateEmulatorClientBuilder()

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

Returns
TypeDescription
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.