As of January 1, 2020 this library no longer supports Python 2 on the latest released version. Library versions released prior to that date will continue to be available. For more information please visit Python 2 support on Google Cloud.

Query Resource Classes

BigQuery query processing.

class google.cloud.bigquery.query.ArrayQueryParameter(name, array_type, values)[source]

Named / positional query parameters for array values.

Parameters
  • name (Optional[str]) – Parameter name, used via @foo syntax. If None, the parameter can only be addressed via position (?).

  • array_type (Union[str, ScalarQueryParameterType, StructQueryParameterType]) – The type of array elements. If given as a string, it must be one of ‘STRING’, ‘INT64’, ‘FLOAT64’, ‘NUMERIC’, ‘BIGNUMERIC’, ‘BOOL’, ‘TIMESTAMP’, ‘DATE’, or ‘STRUCT’/’RECORD’. If the type is 'STRUCT'/'RECORD' and values is empty, the exact item type cannot be deduced, thus a StructQueryParameterType instance needs to be passed in.

  • values (List[appropriate type]) – The parameter array values.

classmethod from_api_repr(resource: dict) google.cloud.bigquery.query.ArrayQueryParameter[source]

Factory: construct parameter from JSON resource.

Parameters

resource (Dict) – JSON mapping of parameter

Returns

Instance

Return type

google.cloud.bigquery.query.ArrayQueryParameter

classmethod positional(array_type: str, values: list) google.cloud.bigquery.query.ArrayQueryParameter[source]

Factory for positional parameters.

Parameters
  • array_type (Union[str, ScalarQueryParameterType, StructQueryParameterType]) – The type of array elements. If given as a string, it must be one of ‘STRING’, ‘INT64’, ‘FLOAT64’, ‘NUMERIC’, ‘BIGNUMERIC’, ‘BOOL’, ‘TIMESTAMP’, ‘DATE’, or ‘STRUCT’/’RECORD’. If the type is 'STRUCT'/'RECORD' and values is empty, the exact item type cannot be deduced, thus a StructQueryParameterType instance needs to be passed in.

  • values (List[appropriate type]) – The parameter array values.

Returns

Instance without name

Return type

google.cloud.bigquery.query.ArrayQueryParameter

to_api_repr() dict[source]

Construct JSON API representation for the parameter.

Returns

JSON mapping

Return type

Dict

class google.cloud.bigquery.query.ArrayQueryParameterType(array_type, *, name=None, description=None)[source]

Type representation for array query parameters.

Parameters
  • array_type (Union[ScalarQueryParameterType, StructQueryParameterType]) – The type of array elements.

  • name (Optional[str]) – The name of the query parameter. Primarily used if the type is one of the subfields in StructQueryParameterType instance.

  • description (Optional[str]) – The query parameter description. Primarily used if the type is one of the subfields in StructQueryParameterType instance.

classmethod from_api_repr(resource)[source]

Factory: construct parameter type from JSON resource.

Parameters

resource (Dict) – JSON mapping of parameter

Returns

Instance

Return type

google.cloud.bigquery.query.ArrayQueryParameterType

to_api_repr()[source]

Construct JSON API representation for the parameter type.

Returns

JSON mapping

Return type

Dict

class google.cloud.bigquery.query.ConnectionProperty(key: str = '', value: str = '')[source]

A connection-level property to customize query behavior.

See https://cloud.google.com/bigquery/docs/reference/rest/v2/ConnectionProperty

Parameters
  • key – The key of the property to set, for example, 'time_zone' or 'session_id'.

  • value – The value of the property to set.

classmethod from_api_repr(resource) google.cloud.bigquery.query.ConnectionProperty[source]

Construct ConnectionProperty from JSON resource.

Parameters

resource – JSON representation.

Returns

A connection property.

property key: str

Name of the property.

For example:

  • time_zone

  • session_id

to_api_repr() Dict[str, Any][source]

Construct JSON API representation for the connection property.

Returns

JSON mapping

property value: str

Value of the property.

class google.cloud.bigquery.query.RangeQueryParameter(range_element_type, start=None, end=None, name=None)[source]

Named / positional query parameters for range values.

Parameters
  • range_element_type (Union[str, RangeQueryParameterType]) – The type of range elements. It must be one of ‘TIMESTAMP’, ‘DATE’, or ‘DATETIME’.

  • start (Optional[Union[ScalarQueryParameter, str]]) – The start of the range value. Must be the same type as range_element_type. If not provided, it’s interpreted as UNBOUNDED.

  • end (Optional[Union[ScalarQueryParameter, str]]) – The end of the range value. Must be the same type as range_element_type. If not provided, it’s interpreted as UNBOUNDED.

  • name (Optional[str]) – Parameter name, used via @foo syntax. If None, the parameter can only be addressed via position (?).

classmethod from_api_repr(resource: dict) google.cloud.bigquery.query.RangeQueryParameter[source]

Factory: construct parameter from JSON resource.

Parameters

resource (Dict) – JSON mapping of parameter

Returns

Instance

Return type

google.cloud.bigquery.query.RangeQueryParameter

classmethod positional(range_element_type, start=None, end=None) google.cloud.bigquery.query.RangeQueryParameter[source]

Factory for positional parameters.

Parameters
  • range_element_type (Union[str, RangeQueryParameterType]) – The type of range elements. It must be one of ‘TIMESTAMP’, ‘DATE’, or ‘DATETIME’.

  • start (Optional[Union[ScalarQueryParameter, str]]) – The start of the range value. Must be the same type as range_element_type. If not provided, it’s interpreted as UNBOUNDED.

  • end (Optional[Union[ScalarQueryParameter, str]]) – The end of the range value. Must be the same type as range_element_type. If not provided, it’s interpreted as UNBOUNDED.

Returns

Instance without name.

Return type

google.cloud.bigquery.query.RangeQueryParameter

to_api_repr() dict[source]

Construct JSON API representation for the parameter.

Returns

JSON mapping

Return type

Dict

class google.cloud.bigquery.query.RangeQueryParameterType(type_, *, name=None, description=None)[source]

Type representation for range query parameters.

Parameters
  • type (Union[ScalarQueryParameterType, str]) – Type of range element, must be one of ‘TIMESTAMP’, ‘DATETIME’, or ‘DATE’.

  • name (Optional[str]) – The name of the query parameter. Primarily used if the type is one of the subfields in StructQueryParameterType instance.

  • description (Optional[str]) – The query parameter description. Primarily used if the type is one of the subfields in StructQueryParameterType instance.

classmethod from_api_repr(resource)[source]

Factory: construct parameter type from JSON resource.

Parameters

resource (Dict) – JSON mapping of parameter

Returns

Instance

Return type

google.cloud.bigquery.query.RangeQueryParameterType

to_api_repr()[source]

Construct JSON API representation for the parameter type.

Returns

JSON mapping

Return type

Dict

with_name(new_name: Optional[str])[source]

Return a copy of the instance with name set to new_name.

Parameters

name (Union[str, None]) – The new name of the range query parameter type. If None, the existing name is cleared.

Returns

A new instance with updated name.

Return type

google.cloud.bigquery.query.RangeQueryParameterType

class google.cloud.bigquery.query.ScalarQueryParameter(name: Optional[str], type_: Optional[Union[str, google.cloud.bigquery.query.ScalarQueryParameterType]], value: Optional[Union[str, int, float, decimal.Decimal, bool, datetime.datetime, datetime.date]])[source]

Named / positional query parameters for scalar values.

Parameters
classmethod from_api_repr(resource: dict) google.cloud.bigquery.query.ScalarQueryParameter[source]

Factory: construct parameter from JSON resource.

Parameters

resource (Dict) – JSON mapping of parameter

Returns

Instance

Return type

google.cloud.bigquery.query.ScalarQueryParameter

classmethod positional(type_: Union[str, google.cloud.bigquery.query.ScalarQueryParameterType], value: Optional[Union[str, int, float, decimal.Decimal, bool, datetime.datetime, datetime.date]]) google.cloud.bigquery.query.ScalarQueryParameter[source]

Factory for positional paramater.

Parameters
  • type – Name of parameter type. One of ‘STRING’, ‘INT64’, ‘FLOAT64’, ‘NUMERIC’, ‘BIGNUMERIC’, ‘BOOL’, ‘TIMESTAMP’, ‘DATETIME’, or ‘DATE’.

  • value – The scalar parameter value.

Returns

Instance without name

Return type

google.cloud.bigquery.query.ScalarQueryParameter

to_api_repr() dict[source]

Construct JSON API representation for the parameter.

Returns

JSON mapping

Return type

Dict

class google.cloud.bigquery.query.ScalarQueryParameterType(type_, *, name=None, description=None)[source]

Type representation for scalar query parameters.

Parameters
  • type (str) – One of ‘STRING’, ‘INT64’, ‘FLOAT64’, ‘NUMERIC’, ‘BOOL’, ‘TIMESTAMP’, ‘DATETIME’, or ‘DATE’.

  • name (Optional[str]) – The name of the query parameter. Primarily used if the type is one of the subfields in StructQueryParameterType instance.

  • description (Optional[str]) – The query parameter description. Primarily used if the type is one of the subfields in StructQueryParameterType instance.

classmethod from_api_repr(resource)[source]

Factory: construct parameter type from JSON resource.

Parameters

resource (Dict) – JSON mapping of parameter

Returns

Instance

Return type

google.cloud.bigquery.query.ScalarQueryParameterType

to_api_repr()[source]

Construct JSON API representation for the parameter type.

Returns

JSON mapping

Return type

Dict

with_name(new_name: Optional[str])[source]

Return a copy of the instance with name set to new_name.

Parameters

name (Union[str, None]) – The new name of the query parameter type. If None, the existing name is cleared.

Returns

A new instance with updated name.

Return type

google.cloud.bigquery.query.ScalarQueryParameterType

class google.cloud.bigquery.query.SqlParameterScalarTypes[source]

Supported scalar SQL query parameter types as type objects.

class google.cloud.bigquery.query.StructQueryParameter(name, *sub_params)[source]

Name / positional query parameters for struct values.

Parameters
  • name (Optional[str]) – Parameter name, used via @foo syntax. If None, the parameter can only be addressed via position (?).

  • (Union[Tuple[ (sub_params) – google.cloud.bigquery.query.ScalarQueryParameter, google.cloud.bigquery.query.ArrayQueryParameter, google.cloud.bigquery.query.StructQueryParameter

  • ]]) – The sub-parameters for the struct

classmethod from_api_repr(resource: dict) google.cloud.bigquery.query.StructQueryParameter[source]

Factory: construct parameter from JSON resource.

Parameters

resource (Dict) – JSON mapping of parameter

Returns

Instance

Return type

google.cloud.bigquery.query.StructQueryParameter

classmethod positional(*sub_params)[source]

Factory for positional parameters.

Parameters
  • (Union[Tuple[ (sub_params) – google.cloud.bigquery.query.ScalarQueryParameter, google.cloud.bigquery.query.ArrayQueryParameter, google.cloud.bigquery.query.StructQueryParameter

  • ]]) – The sub-parameters for the struct

Returns

Instance without name

Return type

google.cloud.bigquery.query.StructQueryParameter

to_api_repr() dict[source]

Construct JSON API representation for the parameter.

Returns

JSON mapping

Return type

Dict

class google.cloud.bigquery.query.StructQueryParameterType(*fields, name=None, description=None)[source]

Type representation for struct query parameters.

Parameters
  • fields (Iterable[Union[ ArrayQueryParameterType, ScalarQueryParameterType, StructQueryParameterType ]]) – An non-empty iterable describing the struct’s field types.

  • name (Optional[str]) – The name of the query parameter. Primarily used if the type is one of the subfields in StructQueryParameterType instance.

  • description (Optional[str]) – The query parameter description. Primarily used if the type is one of the subfields in StructQueryParameterType instance.

classmethod from_api_repr(resource)[source]

Factory: construct parameter type from JSON resource.

Parameters

resource (Dict) – JSON mapping of parameter

Returns

Instance

Return type

google.cloud.bigquery.query.StructQueryParameterType

to_api_repr()[source]

Construct JSON API representation for the parameter type.

Returns

JSON mapping

Return type

Dict

class google.cloud.bigquery.query.UDFResource(udf_type, value)[source]

Describe a single user-defined function (UDF) resource.

Parameters
  • udf_type (str) – The type of the resource (‘inlineCode’ or ‘resourceUri’)

  • value (str) – The inline code or resource URI.

See: https://cloud.google.com/bigquery/user-defined-functions#api