Class SchemaField (3.13.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,
)

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.

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.

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

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

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.