Module schema (3.21.0)

Schemas for BigQuery tables / queries.

Classes

FieldElementType

FieldElementType(element_type: str)

Represents the type of a field element.

Parameter
Name Description
element_type str

The type of a field element.

PolicyTagList

PolicyTagList(names: typing.Iterable[str] = ())

Define Policy Tags for a column.

SchemaField

SchemaField(
    name: str,
    field_type: str,
    mode: str = "NULLABLE",
    default_value_expression: typing.Optional[str] = None,
    description: typing.Union[
        str, google.cloud.bigquery.schema._DefaultSentinel
    ] = _DefaultSentinel.DEFAULT_VALUE,
    fields: typing.Iterable[google.cloud.bigquery.schema.SchemaField] = (),
    policy_tags: typing.Union[
        google.cloud.bigquery.schema.PolicyTagList,
        None,
        google.cloud.bigquery.schema._DefaultSentinel,
    ] = _DefaultSentinel.DEFAULT_VALUE,
    precision: typing.Union[
        int, google.cloud.bigquery.schema._DefaultSentinel
    ] = _DefaultSentinel.DEFAULT_VALUE,
    scale: typing.Union[
        int, google.cloud.bigquery.schema._DefaultSentinel
    ] = _DefaultSentinel.DEFAULT_VALUE,
    max_length: typing.Union[
        int, google.cloud.bigquery.schema._DefaultSentinel
    ] = _DefaultSentinel.DEFAULT_VALUE,
    range_element_type: typing.Optional[
        typing.Union[google.cloud.bigquery.schema.FieldElementType, str]
    ] = None,
)

Describe a single field within a table schema.

Parameters
Name Description
name str

The name of the field.

field_type str

The type of the field. See https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#TableFieldSchema.FIELDS.type

mode str

Defaults to 'NULLABLE'. The mode of the field. See https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#TableFieldSchema.FIELDS.mode

default_value_expression typing.Optional[str]

str, Optional Used to specify the default value of a field using a SQL expression. It can only be set for top level fields (columns). You can use a struct or array expression to specify default value for the entire struct or array. The valid SQL expressions are: - Literals for all data types, including STRUCT and ARRAY. - The following functions: CURRENT_TIMESTAMP CURRENT_TIME CURRENT_DATE CURRENT_DATETIME GENERATE_UUID RAND SESSION_USER ST_GEOPOINT - Struct or array composed with the above allowed functions, for example: "[CURRENT_DATE(), DATE '2020-01-01'"]

description typing.Union[str, google.cloud.bigquery.schema._DefaultSentinel]

Description for the field.

fields typing.Iterable[SchemaField]

Subfields (requires field_type of 'RECORD').

policy_tags typing.Union[PolicyTagList, NoneType, google.cloud.bigquery.schema._DefaultSentinel]

The policy tag list for the field.

precision typing.Union[int, google.cloud.bigquery.schema._DefaultSentinel]

Precison (number of digits) of fields with NUMERIC or BIGNUMERIC type.

scale typing.Union[int, google.cloud.bigquery.schema._DefaultSentinel]

Scale (digits after decimal) of fields with NUMERIC or BIGNUMERIC type.

max_length typing.Union[int, google.cloud.bigquery.schema._DefaultSentinel]

Maximum length of fields with STRING or BYTES type.

range_element_type typing.Union[google.cloud.bigquery.schema.FieldElementType, str, NoneType]

FieldElementType, str, Optional The subtype of the RANGE, if the type of this field is RANGE. If the type is RANGE, this field is required. Possible values for the field element type of a RANGE include DATE, DATETIME and TIMESTAMP.