Class: Google::Apis::BigqueryV2::QueryRequest
- Inherits:
-
Object
- Object
- Google::Apis::BigqueryV2::QueryRequest
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/bigquery_v2/classes.rb,
lib/google/apis/bigquery_v2/representations.rb,
lib/google/apis/bigquery_v2/representations.rb
Overview
Describes the format of the jobs.query request.
Instance Attribute Summary collapse
-
#arrow_serialization_options ⇒ Google::Apis::BigqueryV2::ArrowSerializationOptions
Contains options specific to Arrow Serialization.
-
#connection_properties ⇒ Array<Google::Apis::BigqueryV2::ConnectionProperty>
Optional.
-
#continuous ⇒ Boolean
(also: #continuous?)
[Optional] Specifies whether the query should be executed as a continuous query.
-
#create_session ⇒ Boolean
(also: #create_session?)
Optional.
-
#default_dataset ⇒ Google::Apis::BigqueryV2::DatasetReference
Identifier for a dataset.
-
#destination_encryption_configuration ⇒ Google::Apis::BigqueryV2::EncryptionConfiguration
Configuration for Cloud KMS encryption settings.
-
#dry_run ⇒ Boolean
(also: #dry_run?)
Optional.
-
#format_options ⇒ Google::Apis::BigqueryV2::DataFormatOptions
Options for data format adjustments.
-
#job_creation_mode ⇒ String
Optional.
-
#job_timeout_ms ⇒ Fixnum
Optional.
-
#kind ⇒ String
The resource type of the request.
-
#labels ⇒ Hash<String,String>
Optional.
-
#location ⇒ String
The geographic location where the job should run.
-
#max_results ⇒ Fixnum
Optional.
-
#max_slots ⇒ Fixnum
Optional.
-
#maximum_bytes_billed ⇒ Fixnum
Optional.
-
#parameter_mode ⇒ String
GoogleSQL only.
-
#preserve_nulls ⇒ Boolean
(also: #preserve_nulls?)
This property is deprecated.
-
#query ⇒ String
Required.
-
#query_parameters ⇒ Array<Google::Apis::BigqueryV2::QueryParameter>
Query parameters for GoogleSQL queries.
-
#query_results_format ⇒ String
Optional.
-
#request_id ⇒ String
Optional.
-
#reservation ⇒ String
Optional.
-
#timeout_ms ⇒ Fixnum
Optional.
-
#use_legacy_sql ⇒ Boolean
(also: #use_legacy_sql?)
Specifies whether to use BigQuery's legacy SQL dialect for this query.
-
#use_query_cache ⇒ Boolean
(also: #use_query_cache?)
Optional.
-
#write_incremental_results ⇒ Boolean
(also: #write_incremental_results?)
Optional.
Instance Method Summary collapse
-
#initialize(**args) ⇒ QueryRequest
constructor
A new instance of QueryRequest.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ QueryRequest
Returns a new instance of QueryRequest.
8760 8761 8762 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8760 def initialize(**args) update!(**args) end |
Instance Attribute Details
#arrow_serialization_options ⇒ Google::Apis::BigqueryV2::ArrowSerializationOptions
Contains options specific to Arrow Serialization. This feature is not yet
available.
Corresponds to the JSON property arrowSerializationOptions
8542 8543 8544 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8542 def @arrow_serialization_options end |
#connection_properties ⇒ Array<Google::Apis::BigqueryV2::ConnectionProperty>
Optional. Connection properties which can modify the query behavior.
Corresponds to the JSON property connectionProperties
8547 8548 8549 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8547 def connection_properties @connection_properties end |
#continuous ⇒ Boolean Also known as: continuous?
[Optional] Specifies whether the query should be executed as a continuous
query. The default value is false.
Corresponds to the JSON property continuous
8553 8554 8555 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8553 def continuous @continuous end |
#create_session ⇒ Boolean Also known as: create_session?
Optional. If true, creates a new session using a randomly generated session_id.
If false, runs query with an existing session_id passed in ConnectionProperty,
otherwise runs query in non-session mode. The session location will be set to
QueryRequest.location if it is present, otherwise it's set to the default
location based on existing routing logic.
Corresponds to the JSON property createSession
8563 8564 8565 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8563 def create_session @create_session end |
#default_dataset ⇒ Google::Apis::BigqueryV2::DatasetReference
Identifier for a dataset.
Corresponds to the JSON property defaultDataset
8569 8570 8571 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8569 def default_dataset @default_dataset end |
#destination_encryption_configuration ⇒ Google::Apis::BigqueryV2::EncryptionConfiguration
Configuration for Cloud KMS encryption settings.
Corresponds to the JSON property destinationEncryptionConfiguration
8574 8575 8576 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8574 def destination_encryption_configuration @destination_encryption_configuration end |
#dry_run ⇒ Boolean Also known as: dry_run?
Optional. If set to true, BigQuery doesn't run the job. Instead, if the query
is valid, BigQuery returns statistics about the job such as how many bytes
would be processed. If the query is invalid, an error returns. The default
value is false.
Corresponds to the JSON property dryRun
8582 8583 8584 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8582 def dry_run @dry_run end |
#format_options ⇒ Google::Apis::BigqueryV2::DataFormatOptions
Options for data format adjustments.
Corresponds to the JSON property formatOptions
8588 8589 8590 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8588 def @format_options end |
#job_creation_mode ⇒ String
Optional. If not set, jobs are always required. If set, the query request will
follow the behavior described JobCreationMode.
Corresponds to the JSON property jobCreationMode
8594 8595 8596 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8594 def job_creation_mode @job_creation_mode end |
#job_timeout_ms ⇒ Fixnum
Optional. Job timeout in milliseconds. If this time limit is exceeded,
BigQuery will attempt to stop a longer job, but may not always succeed in
canceling it before the job completes. For example, a job that takes more than
60 seconds to complete has a better chance of being stopped than a job that
takes 10 seconds to complete. This timeout applies to the query even if a job
does not need to be created.
Corresponds to the JSON property jobTimeoutMs
8604 8605 8606 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8604 def job_timeout_ms @job_timeout_ms end |
#kind ⇒ String
The resource type of the request.
Corresponds to the JSON property kind
8609 8610 8611 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8609 def kind @kind end |
#labels ⇒ Hash<String,String>
Optional. The labels associated with this query. Labels can be used to
organize and group query jobs. Label keys and values can be no longer than 63
characters, can only contain lowercase letters, numeric characters,
underscores and dashes. International characters are allowed. Label keys must
start with a letter and each label in the list must have a different key.
Corresponds to the JSON property labels
8618 8619 8620 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8618 def labels @labels end |
#location ⇒ String
The geographic location where the job should run. For more information, see
how to specify locations.
Corresponds to the JSON property location
8625 8626 8627 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8625 def location @location end |
#max_results ⇒ Fixnum
Optional. The maximum number of rows of data to return per page of results.
Setting this flag to a small value such as 1000 and then paging through
results might improve reliability when the query result set is large. In
addition to this limit, responses are also limited to 10 MB. By default, there
is no maximum row count, and only the byte limit applies.
Corresponds to the JSON property maxResults
8634 8635 8636 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8634 def max_results @max_results end |
#max_slots ⇒ Fixnum
Optional. A target limit on the rate of slot consumption by this query. If set
to a value > 0, BigQuery will attempt to limit the rate of slot consumption by
this query to keep it below the configured limit, even if the query is
eligible for more slots based on fair scheduling. The unused slots will be
available for other jobs and queries to use. Note: This feature is not yet
generally available.
Corresponds to the JSON property maxSlots
8644 8645 8646 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8644 def max_slots @max_slots end |
#maximum_bytes_billed ⇒ Fixnum
Optional. Limits the bytes billed for this query. Queries with bytes billed
above this limit will fail (without incurring a charge). If unspecified, the
project default is used.
Corresponds to the JSON property maximumBytesBilled
8651 8652 8653 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8651 def maximum_bytes_billed @maximum_bytes_billed end |
#parameter_mode ⇒ String
GoogleSQL only. Set to POSITIONAL to use positional (?) query parameters or to
NAMED to use named (@myparam) query parameters in this query.
Corresponds to the JSON property parameterMode
8657 8658 8659 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8657 def parameter_mode @parameter_mode end |
#preserve_nulls ⇒ Boolean Also known as: preserve_nulls?
This property is deprecated.
Corresponds to the JSON property preserveNulls
8662 8663 8664 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8662 def preserve_nulls @preserve_nulls end |
#query ⇒ String
Required. A query string to execute, using Google Standard SQL or legacy SQL
syntax. Example: "SELECT COUNT(f1) FROM myProjectId.myDatasetId.myTableId".
Corresponds to the JSON property query
8669 8670 8671 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8669 def query @query end |
#query_parameters ⇒ Array<Google::Apis::BigqueryV2::QueryParameter>
Query parameters for GoogleSQL queries.
Corresponds to the JSON property queryParameters
8674 8675 8676 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8674 def query_parameters @query_parameters end |
#query_results_format ⇒ String
Optional. The query results format. If the value is anything other than
STRUCT_ENCODING or unspecified: * The schema of the results will be provided
in QueryResponse.results_schema field. * The results of the first page will
be provided in QueryResponse.results field. * The QueryResponse.rows will
not be populated. * The QueryResponse.schema for QueryResponse.rows will
also not be populated since it is the schema of the QueryResponse.rows. This
feature is not yet available.
Corresponds to the JSON property queryResultsFormat
8685 8686 8687 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8685 def query_results_format @query_results_format end |
#request_id ⇒ String
Optional. A unique user provided identifier to ensure idempotent behavior for
queries. Note that this is different from the job_id. It has the following
properties: 1. It is case-sensitive, limited to up to 36 ASCII characters. A
UUID is recommended. 2. Read only queries can ignore this token since they are
nullipotent by definition. 3. For the purposes of idempotency ensured by the
request_id, a request is considered duplicate of another only if they have the
same request_id and are actually duplicates. When determining whether a
request is a duplicate of another request, all parameters in the request that
may affect the result are considered. For example, query,
connection_properties, query_parameters, use_legacy_sql are parameters that
affect the result and are considered when determining whether a request is a
duplicate, but properties like timeout_ms don't affect the result and are thus
not considered. Dry run query requests are never considered duplicate of
another request. 4. When a duplicate mutating query request is detected, it
returns: a. the results of the mutation if it completes successfully within
the timeout. b. the running operation if it is still in progress at the end of
the timeout. 5. Its lifetime is limited to 15 minutes. In other words, if two
requests are sent with the same request_id, but more than 15 minutes apart,
idempotency is not guaranteed.
Corresponds to the JSON property requestId
8708 8709 8710 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8708 def request_id @request_id end |
#reservation ⇒ String
Optional. The reservation that jobs.query request would use. User can specify
a reservation to execute the job.query. The expected format is projects/
project/locations/location/reservations/reservation`. Forces the query to
use on-demand billing when set tonone. This requires the project or
organization to havereservation_override_modeset toALLOW_ANY_OVERRIDE.
Corresponds to the JSON propertyreservation`
8717 8718 8719 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8717 def reservation @reservation end |
#timeout_ms ⇒ Fixnum
Optional. Optional: Specifies the maximum amount of time, in milliseconds,
that the client is willing to wait for the query to complete. By default, this
limit is 10 seconds (10,000 milliseconds). If the query is complete, the
jobComplete field in the response is true. If the query has not yet completed,
jobComplete is false. You can request a longer timeout period in the timeoutMs
field. However, the call is not guaranteed to wait for the specified timeout;
it typically returns after around 200 seconds (200,000 milliseconds), even if
the query is not complete. If jobComplete is false, you can continue to wait
for the query to complete by calling the getQueryResults method until the
jobComplete field in the getQueryResults response is true.
Corresponds to the JSON property timeoutMs
8731 8732 8733 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8731 def timeout_ms @timeout_ms end |
#use_legacy_sql ⇒ Boolean Also known as: use_legacy_sql?
Specifies whether to use BigQuery's legacy SQL dialect for this query. The
default value is true. If set to false, the query uses BigQuery's GoogleSQL. When
useLegacySql is set to false, the value of flattenResults is ignored; query
will be run as if flattenResults is false.
Corresponds to the JSON property useLegacySql
8740 8741 8742 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8740 def use_legacy_sql @use_legacy_sql end |
#use_query_cache ⇒ Boolean Also known as: use_query_cache?
Optional. Whether to look for the result in the query cache. The query cache
is a best-effort cache that will be flushed whenever tables in the query are
modified. The default value is true.
Corresponds to the JSON property useQueryCache
8748 8749 8750 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8748 def use_query_cache @use_query_cache end |
#write_incremental_results ⇒ Boolean Also known as: write_incremental_results?
Optional. This is only supported for SELECT query. If set, the query is
allowed to write results incrementally to the temporary result table. This may
incur a performance penalty. This option cannot be used with Legacy SQL. This
feature is not yet available.
Corresponds to the JSON property writeIncrementalResults
8757 8758 8759 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8757 def write_incremental_results @write_incremental_results end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
8765 8766 8767 8768 8769 8770 8771 8772 8773 8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 8791 8792 8793 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 8765 def update!(**args) @arrow_serialization_options = args[:arrow_serialization_options] if args.key?(:arrow_serialization_options) @connection_properties = args[:connection_properties] if args.key?(:connection_properties) @continuous = args[:continuous] if args.key?(:continuous) @create_session = args[:create_session] if args.key?(:create_session) @default_dataset = args[:default_dataset] if args.key?(:default_dataset) @destination_encryption_configuration = args[:destination_encryption_configuration] if args.key?(:destination_encryption_configuration) @dry_run = args[:dry_run] if args.key?(:dry_run) @format_options = args[:format_options] if args.key?(:format_options) @job_creation_mode = args[:job_creation_mode] if args.key?(:job_creation_mode) @job_timeout_ms = args[:job_timeout_ms] if args.key?(:job_timeout_ms) @kind = args[:kind] if args.key?(:kind) @labels = args[:labels] if args.key?(:labels) @location = args[:location] if args.key?(:location) @max_results = args[:max_results] if args.key?(:max_results) @max_slots = args[:max_slots] if args.key?(:max_slots) @maximum_bytes_billed = args[:maximum_bytes_billed] if args.key?(:maximum_bytes_billed) @parameter_mode = args[:parameter_mode] if args.key?(:parameter_mode) @preserve_nulls = args[:preserve_nulls] if args.key?(:preserve_nulls) @query = args[:query] if args.key?(:query) @query_parameters = args[:query_parameters] if args.key?(:query_parameters) @query_results_format = args[:query_results_format] if args.key?(:query_results_format) @request_id = args[:request_id] if args.key?(:request_id) @reservation = args[:reservation] if args.key?(:reservation) @timeout_ms = args[:timeout_ms] if args.key?(:timeout_ms) @use_legacy_sql = args[:use_legacy_sql] if args.key?(:use_legacy_sql) @use_query_cache = args[:use_query_cache] if args.key?(:use_query_cache) @write_incremental_results = args[:write_incremental_results] if args.key?(:write_incremental_results) end |