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.
Namespace
Google.Cloud.Spanner.V1Assembly
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 |
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 |
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 |
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 |
BuildAsync(CancellationToken)
public override Task<SpannerClient> BuildAsync(CancellationToken cancellationToken = default)
Builds the resulting client asynchronously.
Parameter | |
---|---|
Name | Description |
cancellationToken | CancellationToken |
Returns | |
---|---|
Type | Description |
TaskSpannerClient |
GetChannelPool()
protected override ChannelPool GetChannelPool()
Returns the channel pool to use when no other options are specified.
Returns | |
---|---|
Type | Description |
ChannelPool |
MaybeCreateEmulatorClientBuilder()
public SpannerClientBuilder MaybeCreateEmulatorClientBuilder()
May return a builder that will connect to the emulator under certain conditions.
Returns | |
---|---|
Type | Description |
SpannerClientBuilder |
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.