Class SchemaField (3.16.0)

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

NameDescription
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.

Properties

default_value_expression

Optional[str] default value of a field, using an SQL expression

description

Optional[str]: description for the field.

field_type

fields

Optional[tuple]: Subfields contained in this field.

Must be empty unset if field_type is not 'RECORD'.

is_nullable

bool: whether 'mode' is 'nullable'.

max_length

Optional[int]: Maximum length for the STRING or BYTES field.

mode

name

str: The name of the field.

policy_tags

Optional[google.cloud.bigquery.schema.PolicyTagList]: Policy tag list definition for this field.

precision

Optional[int]: Precision (number of digits) for the NUMERIC field.

range_element_type

Optional[FieldElementType]: The subtype of the RANGE, if the type of this field is RANGE.

Must be set when type is "RANGE". Must be one of "DATE", "DATETIME" or "TIMESTAMP".

scale

Optional[int]: Scale (digits after decimal) for the NUMERIC field.

Methods

from_api_repr

from_api_repr(api_repr: dict) -> google.cloud.bigquery.schema.SchemaField

Return a SchemaField object deserialized from a dictionary.

Parameter
NameDescription
api_repr Mapping[str, str]

The serialized representation of the SchemaField, such as what is output by to_api_repr.

Returns
TypeDescription
google.cloud.bigquery.schema.SchemaFieldThe SchemaField object.

to_api_repr

to_api_repr() -> dict

Return a dictionary representing this schema field.

Returns
TypeDescription
DictA dictionary representing the SchemaField in a serialized form.

to_standard_sql

to_standard_sql() -> google.cloud.bigquery.standard_sql.StandardSqlField

Return the field as the standard SQL field representation object.

__init__

__init__(
    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,
)

Initialize self. See help(type(self)) for accurate signature.

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
NameDescription
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.