Class SpannerOptions.Builder

    • Method Detail

      • setChannelConfigurator

        public SpannerOptions.Builder setChannelConfigurator​(com.google.api.core.ApiFunction<io.grpc.ManagedChannelBuilder,​io.grpc.ManagedChannelBuilder> channelConfigurator)
        Sets an ApiFunction that will be used to configure the transport channel. This will only be used if no custom TransportChannelProvider has been set.
      • setInterceptorProvider

        public SpannerOptions.Builder setInterceptorProvider​(com.google.api.gax.grpc.GrpcInterceptorProvider interceptorProvider)
        Sets the GrpcInterceptorProvider. GapicSpannerRpc would create a default one if none is provided.
      • setSessionPoolOption

        public SpannerOptions.Builder setSessionPoolOption​(SessionPoolOptions sessionPoolOptions)
        Sets the options for managing the session pool. If not specified then the default SessionPoolOptions is used.
      • setDatabaseRole

        public SpannerOptions.Builder setDatabaseRole​(String databaseRole)
        Sets the database role that should be used for connections that are created by this instance. The database role that is used determines the access permissions that a connection has. This can for example be used to create connections that are only permitted to access certain tables.
      • setSessionLabels

        public SpannerOptions.Builder setSessionLabels​(Map<String,​String> sessionLabels)
        Sets the labels to add to all Sessions created in this client.
        Parameters:
        sessionLabels - Map from label key to label value. Label key and value cannot be null. For more information on valid syntax see api docs .
      • getSpannerStubSettingsBuilder

        public SpannerStubSettings.Builder getSpannerStubSettingsBuilder()
        Returns the SpannerStubSettings.Builder that will be used to build the SpannerRpc. Use this to set custom RetrySettings for individual gRPC methods.

        The library will automatically use the defaults defined in SpannerStubSettings if no custom settings are set. The defaults are the same as the defaults that are used by SpannerSettings, and are generated from the file spanner_gapic.yaml. Retries are configured for idempotent methods but not for non-idempotent methods.

        You can set the same RetrySettings for all unary methods by calling this:

        
         builder
             .getSpannerStubSettingsBuilder()
             .applyToAllUnaryMethods(
                 new ApiFunction<UnaryCallSettings.Builder<?, ?>, Void>() {
                   public Void apply(Builder<?, ?> input) {
                     input.setRetrySettings(retrySettings);
                     return null;
                   }
                 });
         
      • getInstanceAdminStubSettingsBuilder

        public InstanceAdminStubSettings.Builder getInstanceAdminStubSettingsBuilder()
        Returns the InstanceAdminStubSettings.Builder that will be used to build the SpannerRpc. Use this to set custom RetrySettings for individual gRPC methods.

        The library will automatically use the defaults defined in InstanceAdminStubSettings if no custom settings are set. The defaults are the same as the defaults that are used by InstanceAdminSettings, and are generated from the file spanner_admin_instance_gapic.yaml. Retries are configured for idempotent methods but not for non-idempotent methods.

        You can set the same RetrySettings for all unary methods by calling this:

        
         builder
             .getInstanceAdminStubSettingsBuilder()
             .applyToAllUnaryMethods(
                 new ApiFunction<UnaryCallSettings.Builder<?, ?>, Void>() {
                   public Void apply(Builder<?, ?> input) {
                     input.setRetrySettings(retrySettings);
                     return null;
                   }
                 });
         
      • getDatabaseAdminStubSettingsBuilder

        public DatabaseAdminStubSettings.Builder getDatabaseAdminStubSettingsBuilder()
        Returns the DatabaseAdminStubSettings.Builder that will be used to build the SpannerRpc. Use this to set custom RetrySettings for individual gRPC methods.

        The library will automatically use the defaults defined in DatabaseAdminStubSettings if no custom settings are set. The defaults are the same as the defaults that are used by DatabaseAdminSettings, and are generated from the file spanner_admin_database_gapic.yaml. Retries are configured for idempotent methods but not for non-idempotent methods.

        You can set the same RetrySettings for all unary methods by calling this:

        
         builder
             .getDatabaseAdminStubSettingsBuilder()
             .applyToAllUnaryMethods(
                 new ApiFunction<UnaryCallSettings.Builder<?, ?>, Void>() {
                   public Void apply(Builder<?, ?> input) {
                     input.setRetrySettings(retrySettings);
                     return null;
                   }
                 });
         
      • setPartitionedDmlTimeout

        public SpannerOptions.Builder setPartitionedDmlTimeout​(org.threeten.bp.Duration timeout)
        Sets a timeout specifically for Partitioned DML statements executed through DatabaseClient#executePartitionedUpdate(Statement). The default is 2 hours.
      • setAutoThrottleAdministrativeRequests

        public SpannerOptions.Builder setAutoThrottleAdministrativeRequests()
        Instructs the client library to automatically throttle the number of administrative requests if the rate of administrative requests generated by this Spanner instance will exceed the administrative limits Cloud Spanner. The default behavior is to not throttle any requests. If the limit is exceeded, Cloud Spanner will return a RESOURCE_EXHAUSTED error. More information on the administrative limits can be found here: https://cloud.google.com/spanner/quotas#administrative_limits. Setting this option is not a guarantee that the rate will never be exceeded, as this option will only throttle requests coming from this client. Additional requests from other clients could still cause the limit to be exceeded.
      • setTrackTransactionStarter

        public SpannerOptions.Builder setTrackTransactionStarter()
        Instructs the client library to track the first request of each read/write transaction. This statement will include a BeginTransaction option and will return a transaction id as part of its result. All other statements in the same transaction must wait for this first statement to finish before they can proceed. By setting this option the client library will throw a SpannerException with ErrorCode.DEADLINE_EXCEEDED for any subsequent statement that has waited for at least 60 seconds for the first statement to return a transaction id, including the stacktrace of the initial statement that should have returned a transaction id.
      • setCompressorName

        @ExperimentalApi("https://github.com/grpc/grpc-java/issues/1704")
        public SpannerOptions.Builder setCompressorName​(@Nullable
                                                        String compressorName)
        Sets the compression to use for all gRPC calls. The compressor must be a valid name known in the CompressorRegistry. This will enable compression both from the client to the server and from the server to the client.

        Supported values are:

        • gzip: Enable gzip compression
        • identity: Disable compression
        • null: Use default compression
      • setPrefetchChunks

        public SpannerOptions.Builder setPrefetchChunks​(int prefetchChunks)
        Specifying this will allow the client to prefetch up to prefetchChunks PartialResultSet chunks for each read and query. The data size of each chunk depends on the server implementation but a good rule of thumb is that each chunk will be up to 1 MiB. Larger values reduce the likelihood of blocking while consuming results at the cost of greater memory consumption. prefetchChunks should be greater than 0. To get good performance choose a value that is large enough to allow buffering of chunks for an entire row. Apart from the buffered chunks, there can be at most one more row buffered in the client. This can be overridden on a per read/query basis by Options.prefetchChunks(). If unspecified, we will use a default value (currently 4).
      • enableGrpcGcpExtension

        public SpannerOptions.Builder enableGrpcGcpExtension()
        Enables gRPC-GCP extension with the default settings.
      • enableGrpcGcpExtension

        public SpannerOptions.Builder enableGrpcGcpExtension​(com.google.cloud.grpc.GcpManagedChannelOptions options)
        Enables gRPC-GCP extension and uses provided options for configuration. The metric registry and default Spanner metric labels will be added automatically.
      • disableGrpcGcpExtension

        public SpannerOptions.Builder disableGrpcGcpExtension()
        Disables gRPC-GCP extension.
      • setEmulatorHost

        public SpannerOptions.Builder setEmulatorHost​(String emulatorHost)
        Sets the host of an emulator to use. By default the value is read from an environment variable. If the environment variable is not set, this will be null.