public sealed class BigtableServiceApiSettings : ServiceSettingsBase
Settings for BigtableServiceApiClient instances.
Namespace
Google.Cloud.Bigtable.V2Assembly
Google.Cloud.Bigtable.V2.dll
Constructors
BigtableServiceApiSettings()
public BigtableServiceApiSettings()
Constructs a new BigtableServiceApiSettings object with default settings.
Properties
AppProfileId
public string AppProfileId { get; set; }
This value specifies routing for replication. If not specified, the "default" application profile will be used by the server.
Property Value | |
---|---|
Type | Description |
String |
CheckAndMutateRowSettings
public CallSettings CheckAndMutateRowSettings { get; set; }
CallSettings for synchronous and asynchronous calls to
BigtableServiceApiClient.CheckAndMutateRow
and BigtableServiceApiClient.CheckAndMutateRowAsync
.
Property Value | |
---|---|
Type | Description |
CallSettings |
- This call will not be retried.
- Timeout: 20 seconds.
MaxChannels
public uint MaxChannels { get; set; }
The maximum number of channels than will be open concurrently to the Bigtable endpoint.
Property Value | |
---|---|
Type | Description |
UInt32 |
Note that channels are managed and shared amongst BigtableClient instances using the same endpoint and channel options and which use the default credentials. So this property will have no bearing across clients using different options. To create a custom grouping of channels to be managed, create a GcpCallInvoker manually and set the CallInvoker property on a BigtableClientBuilder, then build the client.
// client1 and client3 will share the same GcpCallInvoker, since they both
// use the same default settings. This means they will use the same shared
// set of gRPC channels to the Bigtable service.
// client2 and client4 will share a different GcpCallInvoker, since they both
// use the same custom MaxChannels/PreferredMaxStreamsPerChannel settings.
BigtableServiceApiSettings settings1 = BigtableServiceApiSettings.GetDefault();
BigtableClient client1 = new BigtableClientBuilder { Settings = settings1 }.Build();
BigtableServiceApiSettings settings2 = new BigtableServiceApiSettings
{
MaxChannels = 10,
PreferredMaxStreamsPerChannel = 4
};
BigtableClient client2 = new BigtableClientBuilder { Settings = settings2 }.Build();
BigtableServiceApiSettings settings3 = BigtableServiceApiSettings.GetDefault();
BigtableClient client3 = new BigtableClientBuilder { Settings = settings3 }.Build();
BigtableServiceApiSettings settings4 = new BigtableServiceApiSettings
{
MaxChannels = 10,
PreferredMaxStreamsPerChannel = 4
};
BigtableClient client4 = new BigtableClientBuilder { Settings = settings4 }.Build();
// client5 will not share a GcpCallInvoker with any of the other clients, since
// its MaxChannels/PreferredMaxStreamsPerChannel settings differ from the others.
BigtableServiceApiSettings settings5 = new BigtableServiceApiSettings
{
MaxChannels = 15,
PreferredMaxStreamsPerChannel = 4
};
BigtableClient client5 = new BigtableClientBuilder { Settings = settings5 }.Build();
MutateRowSettings
public CallSettings MutateRowSettings { get; set; }
CallSettings for synchronous and asynchronous calls to
BigtableServiceApiClient.MutateRow
and BigtableServiceApiClient.MutateRowAsync
.
Property Value | |
---|---|
Type | Description |
CallSettings |
- Initial retry delay: 10 milliseconds.
- Retry delay multiplier: 2
- Retry maximum delay: 60000 milliseconds.
- Maximum attempts: 5
- Retriable status codes: Unavailable, DeadlineExceeded.
- Timeout: 60 seconds.
MutateRowsRetrySettings
public RetrySettings MutateRowsRetrySettings { get; set; }
RetrySettings for calls to BigtableClient.MutateRows
and
BigtableClient.MutateRowsAsync
when some of the mutations fail for certain reasons.
Property Value | |
---|---|
Type | Description |
RetrySettings |
The default BigtableClient.MutateRows
and BigtableClient.MutateRowsAsync
RetrySettings are:
- Max attempts: 5
- Initial retry delay: 10 milliseconds
- Retry delay multiplier: 2.0
- Retry maximum delay: 60000 milliseconds
MutateRowsSettings
public CallSettings MutateRowsSettings { get; set; }
CallSettings for synchronous and asynchronous calls to
BigtableServiceApiClient.MutateRows
and BigtableServiceApiClient.MutateRowsAsync
.
Property Value | |
---|---|
Type | Description |
CallSettings |
- This call will not be retried.
- Timeout: 600 seconds.
PingAndWarmSettings
public CallSettings PingAndWarmSettings { get; set; }
CallSettings for synchronous and asynchronous calls to
BigtableServiceApiClient.PingAndWarm
and BigtableServiceApiClient.PingAndWarmAsync
.
Property Value | |
---|---|
Type | Description |
CallSettings |
- This call will not be retried.
- No timeout is applied.
PreferredMaxStreamsPerChannel
public uint PreferredMaxStreamsPerChannel { get; set; }
The number of streams open concurrently in a channel which will trigger a new channel to be opened, as long as fewer than MaxChannels are currently open.
Property Value | |
---|---|
Type | Description |
UInt32 |
Note that channels are managed and shared amongst BigtableClient instances using the same endpoint and channel options and which use the default credentials. So this property will have no bearing across clients using different options. To create a custom grouping of channels to be managed, create a GcpCallInvoker manually and set the CallInvoker property on a BigtableClientBuilder, then build the client.
// client1 and client3 will share the same GcpCallInvoker, since they both
// use the same default settings. This means they will use the same shared
// set of gRPC channels to the Bigtable service.
// client2 and client4 will share a different GcpCallInvoker, since they both
// use the same custom MaxChannels/PreferredMaxStreamsPerChannel settings.
BigtableServiceApiSettings settings1 = BigtableServiceApiSettings.GetDefault();
BigtableClient client1 = new BigtableClientBuilder { Settings = settings1 }.Build();
BigtableServiceApiSettings settings2 = new BigtableServiceApiSettings
{
MaxChannels = 10,
PreferredMaxStreamsPerChannel = 4
};
BigtableClient client2 = new BigtableClientBuilder { Settings = settings2 }.Build();
BigtableServiceApiSettings settings3 = BigtableServiceApiSettings.GetDefault();
BigtableClient client3 = new BigtableClientBuilder { Settings = settings3 }.Build();
BigtableServiceApiSettings settings4 = new BigtableServiceApiSettings
{
MaxChannels = 10,
PreferredMaxStreamsPerChannel = 4
};
BigtableClient client4 = new BigtableClientBuilder { Settings = settings4 }.Build();
// client5 will not share a GcpCallInvoker with any of the other clients, since
// its MaxChannels/PreferredMaxStreamsPerChannel settings differ from the others.
BigtableServiceApiSettings settings5 = new BigtableServiceApiSettings
{
MaxChannels = 15,
PreferredMaxStreamsPerChannel = 4
};
BigtableClient client5 = new BigtableClientBuilder { Settings = settings5 }.Build();
ReadModifyWriteRowSettings
public CallSettings ReadModifyWriteRowSettings { get; set; }
CallSettings for synchronous and asynchronous calls to
BigtableServiceApiClient.ReadModifyWriteRow
and BigtableServiceApiClient.ReadModifyWriteRowAsync
.
Property Value | |
---|---|
Type | Description |
CallSettings |
- This call will not be retried.
- Timeout: 20 seconds.
ReadRowsRetrySettings
public RetrySettings ReadRowsRetrySettings { get; set; }
RetrySettings for calls to BigtableClient.ReadRows
when the stream
of results ends prematurely.
Property Value | |
---|---|
Type | Description |
RetrySettings |
The default BigtableClient.ReadRows
RetrySettings are:
- Max attempts: 5
- Initial retry delay: 10 milliseconds
- Retry delay multiplier: 2.0
- Retry maximum delay: 60000 milliseconds
ReadRowsSettings
public CallSettings ReadRowsSettings { get; set; }
CallSettings for synchronous and asynchronous calls to
BigtableServiceApiClient.ReadRows
and BigtableServiceApiClient.ReadRowsAsync
.
Property Value | |
---|---|
Type | Description |
CallSettings |
- This call will not be retried.
- Timeout: 43200 seconds.
SampleRowKeysSettings
public CallSettings SampleRowKeysSettings { get; set; }
CallSettings for synchronous and asynchronous calls to
BigtableServiceApiClient.SampleRowKeys
and BigtableServiceApiClient.SampleRowKeysAsync
.
Property Value | |
---|---|
Type | Description |
CallSettings |
- This call will not be retried.
- Timeout: 60 seconds.
Methods
Clone()
public BigtableServiceApiSettings Clone()
Creates a deep clone of this object, with all the same property values.
Returns | |
---|---|
Type | Description |
BigtableServiceApiSettings | A deep clone of this BigtableServiceApiSettings object. |
GetDefault()
public static BigtableServiceApiSettings GetDefault()
Get a new instance of the default BigtableServiceApiSettings.
Returns | |
---|---|
Type | Description |
BigtableServiceApiSettings | A new instance of the default BigtableServiceApiSettings. |