module Google::Cloud::Bigquery::Reservation
Constants
- VERSION
Public Class Methods
Configure the google-cloud-bigquery-reservation library.
The following configuration parameters are supported:
-
`credentials` (type: `String, Hash, Google::Auth::Credentials`) - The path to the keyfile as a String, the contents of the keyfile as a Hash, or a Google::Auth::Credentials object.
-
`lib_name` (type: `String`) - The library name as recorded in instrumentation and logging.
-
`lib_version` (type: `String`) - The library version as recorded in instrumentation and logging.
-
`interceptors` (type: `Array<GRPC::ClientInterceptor>`) - An array of interceptors that are run before calls are executed.
-
`timeout` (type: `Numeric`) - Default timeout in seconds.
-
`metadata` (type: `Hash{Symbol=>String}`) - Additional gRPC headers to be sent with the call.
-
`retry_policy` (type: `Hash`) - The retry policy. The value is a hash with the following keys:
* `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds. * `:max_delay` (*type:* `Numeric`) - The max delay in seconds. * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier. * `:retry_codes` (*type:* `Array<String>`) - The error codes that should trigger a retry.
@return [::Google::Cloud::Config] The default configuration used by this library
# File lib/google/cloud/bigquery/reservation.rb, line 120 def self.configure yield ::Google::Cloud.configure.bigquery_reservation if block_given? ::Google::Cloud.configure.bigquery_reservation end
Create a new client object for ReservationService.
By default, this returns an instance of [Google::Cloud::Bigquery::Reservation::V1::ReservationService::Client](googleapis.dev/ruby/google-cloud-bigquery-reservation-v1/latest/Google/Cloud/Bigquery/Reservation/V1/ReservationService/Client.html) for version V1 of the API. However, you can specify specify a different API version by passing it in the `version` parameter. If the ReservationService service is supported by that API version, and the corresponding gem is available, the appropriate versioned client will be returned.
## About ReservationService
This API allows users to manage their flat-rate BigQuery reservations.
A reservation provides computational resource guarantees, in the form of [slots](cloud.google.com/bigquery/docs/slots), to users. A slot is a unit of computational power in BigQuery, and serves as the basic unit of parallelism. In a scan of a multi-partitioned table, a single slot operates on a single partition of the table. A reservation resource exists as a child resource of the admin project and location, e.g.:
`projects/myproject/locations/US/reservations/reservationName`.
A capacity commitment is a way to purchase compute capacity for BigQuery jobs (in the form of slots) with some committed period of usage. A capacity commitment resource exists as a child resource of the admin project and location, e.g.:
`projects/myproject/locations/US/capacityCommitments/id`.
@param version [::String, ::Symbol] The API version to connect to. Optional.
Defaults to `:v1`.
@return [ReservationService::Client] A client object for the specified version.
# File lib/google/cloud/bigquery/reservation.rb, line 81 def self.reservation_service version: :v1, &block require "google/cloud/bigquery/reservation/#{version.to_s.downcase}" package_name = Google::Cloud::Bigquery::Reservation .constants .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") } .first package_module = Google::Cloud::Bigquery::Reservation.const_get package_name package_module.const_get(:ReservationService).const_get(:Client).new(&block) end