MCP Tools Reference: bigquery.googleapis.com

Herramienta: get_table_info

Obtiene información de metadatos sobre una tabla de BigQuery.

En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP get_table_info.

Solicitud de cURL
                  
curl --location 'https://bigquery.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "get_table_info",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Esquema de entrada

Solicitud de una mesa

Representación JSON
{
  "projectId": string,
  "datasetId": string,
  "tableId": string
}
Campos
projectId

string

Obligatorio. ID del proyecto de la solicitud de tabla.

datasetId

string

Obligatorio. Es el ID del conjunto de datos de la solicitud de tabla.

tableId

string

Obligatorio. Es el ID de la tabla de la solicitud de tabla.

Esquema de salida

Representación JSON
{
  "kind": string,
  "etag": string,
  "id": string,
  "selfLink": string,
  "tableReference": {
    object (TableReference)
  },
  "friendlyName": string,
  "description": string,
  "labels": {
    string: string,
    ...
  },
  "schema": {
    object (TableSchema)
  },
  "timePartitioning": {
    object (TimePartitioning)
  },
  "rangePartitioning": {
    object (RangePartitioning)
  },
  "clustering": {
    object (Clustering)
  },
  "requirePartitionFilter": boolean,
  "numBytes": string,
  "numPhysicalBytes": string,
  "numLongTermBytes": string,
  "numRows": string,
  "creationTime": string,
  "expirationTime": string,
  "lastModifiedTime": string,
  "type": string,
  "view": {
    object (ViewDefinition)
  },
  "materializedView": {
    object (MaterializedViewDefinition)
  },
  "materializedViewStatus": {
    object (MaterializedViewStatus)
  },
  "externalDataConfiguration": {
    object (ExternalDataConfiguration)
  },
  "biglakeConfiguration": {
    object (BigLakeConfiguration)
  },
  "managedTableType": enum (ManagedTableType),
  "location": string,
  "streamingBuffer": {
    object (Streamingbuffer)
  },
  "encryptionConfiguration": {
    object (EncryptionConfiguration)
  },
  "snapshotDefinition": {
    object (SnapshotDefinition)
  },
  "defaultCollation": string,
  "defaultRoundingMode": enum (RoundingMode),
  "cloneDefinition": {
    object (CloneDefinition)
  },
  "numTimeTravelPhysicalBytes": string,
  "numTotalLogicalBytes": string,
  "numActiveLogicalBytes": string,
  "numLongTermLogicalBytes": string,
  "numCurrentPhysicalBytes": string,
  "numTotalPhysicalBytes": string,
  "numActivePhysicalBytes": string,
  "numLongTermPhysicalBytes": string,
  "numPartitions": string,
  "maxStaleness": string,
  "restrictions": {
    object (RestrictionConfig)
  },
  "tableConstraints": {
    object (TableConstraints)
  },
  "resourceTags": {
    string: string,
    ...
  },
  "tableReplicationInfo": {
    object (TableReplicationInfo)
  },
  "replicas": [
    {
      object (TableReference)
    }
  ],
  "externalCatalogTableOptions": {
    object (ExternalCatalogTableOptions)
  },

  // Union field _partition_definition can be only one of the following:
  "partitionDefinition": {
    object (PartitioningDefinition)
  }
  // End of list of possible types for union field _partition_definition.
}
Campos
kind

string

Es el tipo de ID de recurso.

etag

string

Solo salida. Es un hash de este recurso.

id

string

Solo salida. Es un ID opaco que identifica la tabla de forma única.

selfLink

string

Solo salida. Es una URL que se puede usar para volver a acceder a este recurso.

tableReference

object (TableReference)

Obligatorio. Es una referencia que describe el ID de esta tabla.

friendlyName

string

Es opcional. Es un nombre descriptivo para esta tabla.

description

string

Es opcional. Es una descripción fácil de usar de esta tabla.

labels

map (key: string, value: string)

Son las etiquetas asociadas a esta tabla. Puedes usarlas para organizar y agrupar tus tablas. Las claves y los valores de etiquetas no pueden tener más de 63 caracteres y solo pueden contener letras en minúscula, números, guiones bajos y guiones. Se permite el uso de caracteres internacionales. Los valores de etiqueta son opcionales. Las claves de etiquetas deben comenzar con una letra, y cada etiqueta de la lista debe tener una clave diferente.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

schema

object (TableSchema)

Es opcional. Describe el esquema de esta tabla.

timePartitioning

object (TimePartitioning)

Si se especifica, configura la partición basada en el tiempo para esta tabla.

rangePartitioning

object (RangePartitioning)

Si se especifica, configura la partición por rango para esta tabla.

clustering

object (Clustering)

Es la especificación de agrupamiento en clústeres para la tabla. Se debe especificar con la partición basada en el tiempo. Los datos de la tabla se particionarán primero y, luego, se agruparán en clústeres.

requirePartitionFilter

boolean

Es opcional. Si se configura como verdadero, las búsquedas en esta tabla requieren que se especifique un filtro de partición que se pueda usar para la eliminación de particiones.

numBytes

string (Int64Value format)

Solo salida. Tamaño de esta tabla en bytes lógicos, sin incluir los datos del búfer de transmisión.

numPhysicalBytes

string (Int64Value format)

Solo salida. Es el tamaño físico de esta tabla en bytes. Esto incluye el almacenamiento que se usa para los viajes en el tiempo.

numLongTermBytes

string (Int64Value format)

Solo salida. Es la cantidad de bytes lógicos de la tabla que se consideran "almacenamiento a largo plazo".

numRows

string (UInt64Value format)

Solo salida. Es la cantidad de filas de datos en esta tabla, sin incluir los datos del búfer de transmisión.

creationTime

string (int64 format)

Solo salida. Es la fecha y hora en que se creó esta tabla, en milisegundos desde la época.

expirationTime

string (Int64Value format)

Es opcional. Es la hora en la que vence esta tabla, en milisegundos desde la época. Si no está presente, la tabla persistirá de forma indefinida. Las tablas vencidas se borrarán y se recuperará su almacenamiento. La propiedad defaultTableExpirationMs del conjunto de datos encapsulado se puede usar para establecer un valor de expirationTime predeterminado en las tablas recién creadas.

lastModifiedTime

string (uint64 format)

Solo salida. Es la hora en la que se modificó esta tabla por última vez, en milisegundos desde la época.

type

string

Solo salida. Describe el tipo de tabla. Se admiten los siguientes valores:

  • TABLE: Una tabla normal de BigQuery.
  • VIEW: Es una tabla virtual definida por una consulta en SQL.
  • EXTERNAL: Es una tabla que hace referencia a los datos almacenados en un sistema de almacenamiento externo, como Google Cloud Storage.
  • MATERIALIZED_VIEW: Es una vista precalculada definida por una consulta en SQL.
  • SNAPSHOT: Es una tabla de BigQuery inmutable que conserva el contenido de una tabla base en un momento determinado. Consulta información adicional sobre las instantáneas de tablas.

El valor predeterminado es TABLE.

view

object (ViewDefinition)

Es opcional. Es la definición de la vista.

materializedView

object (MaterializedViewDefinition)

Es opcional. Es la definición de la vista materializada.

materializedViewStatus

object (MaterializedViewStatus)

Solo salida. Es el estado de la vista materializada.

externalDataConfiguration

object (ExternalDataConfiguration)

Es opcional. Describe el formato de datos, la ubicación y otras propiedades de una tabla almacenada fuera de BigQuery. Si defines estas propiedades, se puede consultar la fuente de datos como si fuera una tabla estándar de BigQuery.

biglakeConfiguration

object (BigLakeConfiguration)

Es opcional. Especifica la configuración de una tabla de BigQuery para Apache Iceberg.

managedTableType

enum (ManagedTableType)

Es opcional. Si se configura, anula el tipo de tabla administrada predeterminado configurado en el conjunto de datos.

location

string

Solo salida. Es la ubicación geográfica en la que reside la tabla. Este valor se hereda del conjunto de datos.

streamingBuffer

object (Streamingbuffer)

Solo salida. Contiene información sobre el búfer de transmisión de esta tabla, si hay uno presente. Este campo no estará presente si no se está transmitiendo la tabla o si no hay datos en el búfer de transmisión.

encryptionConfiguration

object (EncryptionConfiguration)

Configuración de encriptación personalizada (p.ej., Claves de Cloud KMS).

snapshotDefinition

object (SnapshotDefinition)

Solo salida. Contiene información sobre la instantánea. Este valor se establece a través de la creación de instantáneas.

defaultCollation

string

Es opcional. Define la especificación de intercalación predeterminada de los campos STRING nuevos en la tabla. Durante la creación o actualización de la tabla, si se agrega un campo STRING a esta tabla sin especificar una intercalación explícita, la tabla hereda la intercalación predeterminada de la tabla. Un cambio en este campo solo afecta a los campos que se agreguen después y no altera los campos existentes. Se admiten los siguientes valores:

  • "und:ci": Es una configuración regional indeterminada que no distingue mayúsculas de minúsculas.
  • "": Cadena vacía. Se establece un comportamiento que distingue mayúsculas de minúsculas de forma predeterminada.
defaultRoundingMode

enum (RoundingMode)

Es opcional. Define la especificación del modo de redondeo predeterminado de los campos decimales nuevos (NUMERIC O BIGNUMERIC) en la tabla. Durante la creación o actualización de la tabla, si se agrega un campo decimal a esta tabla sin especificar un modo de redondeo explícito, el campo hereda el modo de redondeo predeterminado de la tabla. Cambiar este campo no afecta los campos existentes.

cloneDefinition

object (CloneDefinition)

Solo salida. Contiene información sobre la clonación. Este valor se establece a través de la operación de clonación.

numTimeTravelPhysicalBytes

string (Int64Value format)

Solo salida. Cantidad de bytes físicos que usa el almacenamiento de viaje en el tiempo (datos borrados o modificados). Estos datos no se mantienen en tiempo real y pueden tardar unos segundos o unos minutos.

numTotalLogicalBytes

string (Int64Value format)

Solo salida. Cantidad total de bytes lógicos en la tabla o la vista materializada.

numActiveLogicalBytes

string (Int64Value format)

Solo salida. Cantidad de bytes lógicos que tienen menos de 90 días.

numLongTermLogicalBytes

string (Int64Value format)

Solo salida. Cantidad de bytes lógicos que tienen más de 90 días.

numCurrentPhysicalBytes

string (Int64Value format)

Solo salida. Cantidad de bytes físicos que usa el almacenamiento de datos activos actual. Estos datos no se mantienen en tiempo real y pueden tardar unos segundos o unos minutos.

numTotalPhysicalBytes

string (Int64Value format)

Solo salida. Es el tamaño físico de esta tabla en bytes. Esto también incluye el almacenamiento que se usa para los viajes en el tiempo. Estos datos no se mantienen en tiempo real y pueden tardar unos segundos o unos minutos.

numActivePhysicalBytes

string (Int64Value format)

Solo salida. Cantidad de bytes físicos con menos de 90 días de antigüedad. Estos datos no se mantienen en tiempo real y pueden tardar unos segundos o unos minutos.

numLongTermPhysicalBytes

string (Int64Value format)

Solo salida. Cantidad de bytes físicos con más de 90 días de antigüedad. Estos datos no se mantienen en tiempo real y pueden tardar unos segundos o unos minutos.

numPartitions

string (Int64Value format)

Solo salida. La cantidad de particiones presentes en la tabla o la vista materializada. Estos datos no se mantienen en tiempo real y pueden tardar unos segundos o unos minutos.

maxStaleness

string

Es opcional. Es la inactividad máxima de los datos que se podrían devolver cuando se consulta la tabla (o la MV inactiva). Obsolescencia codificada como una codificación de cadena del tipo IntervalValue de SQL.

restrictions

object (RestrictionConfig)

Es opcional. Solo salida. Es la configuración de restricción para la tabla. Si se configura, restringe ciertos accesos a la tabla según la configuración. Consulta Salida de datos para obtener más detalles.

tableConstraints

object (TableConstraints)

Es opcional. Información de clave primaria y clave externa de las tablas

resourceTags

map (key: string, value: string)

Es opcional. Son las etiquetas adjuntas a esta tabla. Las claves de etiquetas son únicas a nivel global. Se espera que la clave de etiqueta esté en el formato con espacio de nombres, por ejemplo, "123456789012/environment", en el que 123456789012 es el ID del recurso de organización o proyecto principal para esta clave de etiqueta. Se espera que el valor de la etiqueta sea el nombre corto, por ejemplo, "Producción". Consulta Definiciones de etiquetas para obtener más detalles.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

tableReplicationInfo

object (TableReplicationInfo)

Es opcional. Información de replicación de la tabla creada con DDL de AS REPLICA, como CREATE MATERIALIZED VIEW mv1 AS REPLICA OF src_mv

replicas[]

object (TableReference)

Es opcional. Solo salida. Son las referencias de tabla de todas las réplicas que están activas en la tabla.

externalCatalogTableOptions

object (ExternalCatalogTableOptions)

Es opcional. Son opciones que definen una tabla compatible con código abierto.

Campo de unión _partition_definition.

_partition_definition puede ser una de las siguientes opciones:

partitionDefinition

object (PartitioningDefinition)

Es opcional. Es la información de partición para todos los formatos de tabla, incluidas las tablas particionadas administradas, las tablas particionadas de Hive, las tablas particionadas de Iceberg y las tablas particionadas del metastore. Este campo solo se completa para las tablas particionadas del metastore. Para otros formatos de tabla, este es un campo solo de salida.

Representación JSON
{
  "projectId": string,
  "datasetId": string,
  "tableId": string,
  "projectIdAlternative": [
    string
  ],
  "datasetIdAlternative": [
    string
  ],
  "tableIdAlternative": [
    string
  ]
}
Campos
projectId

string

Obligatorio. Es el ID del proyecto que contiene esta tabla.

datasetId

string

Obligatorio. ID del conjunto de datos que contiene esta tabla.

tableId

string

Obligatorio. Es el ID de la tabla. El ID puede contener caracteres Unicode en las categorías L (letra), M (marca), N (número), Pc (conector, incluido el guion bajo), Pd (raya) y Zs (espacio). Para obtener más información, consulta la Categoría general. La longitud máxima es de 1,024 caracteres. Algunas operaciones permiten agregar un sufijo al ID de la tabla con un decorador de partición, como sample_table$20190123.

projectIdAlternative[]

string

No se debe usar este campo.

datasetIdAlternative[]

string

No se debe usar este campo.

tableIdAlternative[]

string

No se debe usar este campo.

Representación JSON
{
  "value": string
}
Campos
value

string

El valor de string.

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

Representación JSON
{
  "fields": [
    {
      object (TableFieldSchema)
    }
  ],
  "foreignTypeInfo": {
    object (ForeignTypeInfo)
  }
}
Campos
fields[]

object (TableFieldSchema)

Describe los campos de una tabla.

foreignTypeInfo

object (ForeignTypeInfo)

Es opcional. Especifica los metadatos de la definición del tipo de datos externos en el esquema de campo (TableFieldSchema.foreign_type_definition).

Representación JSON
{
  "name": string,
  "type": string,
  "mode": string,
  "fields": [
    {
      object (TableFieldSchema)
    }
  ],
  "description": string,
  "policyTags": {
    object (PolicyTagList)
  },
  "dataPolicies": [
    {
      object (DataPolicyOption)
    }
  ],
  "nameAlternative": [
    string
  ],
  "maxLength": string,
  "precision": string,
  "scale": string,
  "timestampPrecision": string,
  "roundingMode": enum (RoundingMode),
  "collation": string,
  "defaultValueExpression": string,
  "rangeElementType": {
    object (FieldElementType)
  },
  "foreignTypeDefinition": string
}
Campos
name

string

Obligatorio. Es el nombre del campo. El nombre solo debe contener letras (a-z, A-Z), números (0-9) o guiones bajos (_) y debe comenzar con una letra o un guion bajo. La longitud máxima es de 300 caracteres.

type

string

Obligatorio. Es el tipo de datos del campo. Estos son algunos de los valores posibles:

  • STRING
  • BYTES
  • INTEGER (o INT64)
  • FLOAT (o FLOAT64)
  • BOOLEANO (o BOOL)
  • TIMESTAMP
  • DATE
  • TIME
  • DATETIME
  • GEOGRAPHY
  • NUMERIC
  • BIGNUMERIC
  • JSON
  • RECORD (o STRUCT)
  • RANGE

El uso de RECORD/STRUCT indica que el campo contiene un esquema anidado.

mode

string

Es opcional. Es el modo del campo. Los valores posibles incluyen NULLABLE, REQUIRED y REPEATED. El valor predeterminado es NULLABLE.

fields[]

object (TableFieldSchema)

Es opcional. Describe los campos del esquema anidado si la propiedad type está configurada como RECORD.

description

string

Es opcional. Es la descripción del campo. La longitud máxima es de 1,024 caracteres.

policyTags

object (PolicyTagList)

Es opcional. Son las etiquetas de política adjuntas a este campo, que se usan para el control de acceso a nivel del campo. Si no se establece, se aplica de forma predeterminada una lista vacía de policy_tags.

dataPolicies[]

object (DataPolicyOption)

Es opcional. Son las políticas de datos adjuntas a este campo, que se usan para el control de acceso a nivel del campo.

nameAlternative[]

string

No se debe usar este campo.

maxLength

string (int64 format)

Es opcional. Es la longitud máxima de los valores de este campo para STRING o BYTES.

Si no se especifica max_length, no se impone ninguna restricción de longitud máxima en este campo.

Si type = "STRING", max_length representa la longitud máxima en UTF-8 de las cadenas en este campo.

Si type = "BYTES", max_length representa la cantidad máxima de bytes en este campo.

No es válido establecer este campo si el tipo no es "STRING" ni "BYTES".

precision

string (int64 format)

Es opcional. Restricciones de precisión (cantidad máxima de dígitos totales en base 10) y escala (cantidad máxima de dígitos en la parte fraccionaria en base 10) para los valores de este campo para NUMERIC o BIGNUMERIC.

No es válido establecer la precisión o la escala si el tipo no es "NUMERIC" ni "BIGNUMERIC".

Si no se especifican la precisión y la escala, no se impone ninguna restricción de rango de valores en este campo, siempre y cuando el tipo permita los valores.

Los valores de este campo NUMERIC o BIGNUMERIC deben estar en este rango en los siguientes casos:

  • Se especifican la precisión (P) y la escala (S): [-10P-S + 10-S, 10P-S - 10-S]
  • Se especifica la precisión (P), pero no la escala (por lo que se interpreta que la escala es igual a cero): [-10P + 1, 10P - 1].

Valores aceptables para la precisión y la escala si se especifican ambos:

  • Si type = "NUMERIC", 1 ≤ precisión - escala ≤ 29 y 0 ≤ escala ≤ 9.
  • Si type = "BIGNUMERIC", 1 ≤ precisión - escala ≤ 38 y 0 ≤ escala ≤ 38.

Valores aceptables para la precisión si solo se especifica la precisión, pero no la escala (y, por lo tanto, se interpreta que la escala es igual a cero):

  • Si type = "NUMERIC", 1 ≤ precisión ≤ 29.
  • Si type = "BIGNUMERIC", 1 ≤ precisión ≤ 38.

Si se especifica la escala, pero no la precisión, el valor no es válido.

scale

string (int64 format)

Es opcional. Consulta la documentación para obtener información sobre la precisión.

timestampPrecision

string (Int64Value format)

Es opcional. Es la precisión (cantidad máxima de dígitos totales en base 10) para los segundos del tipo TIMESTAMP.

Los valores posibles incluyen: * 6 (valor predeterminado para el tipo TIMESTAMP con precisión de microsegundos) * 12 (para el tipo TIMESTAMP con precisión de picosegundos)

roundingMode

enum (RoundingMode)

Es opcional. Especifica el modo de redondeo que se usará cuando se almacenen valores de tipo NUMERIC y BIGNUMERIC.

collation

string

Es opcional. La intercalación de campos solo se puede establecer cuando el tipo de campo es STRING. Se admiten los siguientes valores:

  • "und:ci": Es una configuración regional indeterminada que no distingue mayúsculas de minúsculas.
  • "": Cadena vacía. Se establece un comportamiento que distingue mayúsculas de minúsculas de forma predeterminada.
defaultValueExpression

string

Es opcional. Es una expresión de SQL para especificar el valor predeterminado de este campo.

rangeElementType

object (FieldElementType)

Es opcional. Es el subtipo de RANGE, si el tipo de este campo es RANGE. Si el tipo es RANGE, este campo es obligatorio. Los valores para el tipo de elemento de campo pueden ser los siguientes:

  • DATE
  • DATETIME
  • TIMESTAMP
foreignTypeDefinition

string

Es opcional. Es la definición del tipo de datos externos. Solo es válido para los campos de esquema de nivel superior (no para los campos anidados). Si el tipo es FOREIGN, este campo es obligatorio.

Representación JSON
{
  "names": [
    string
  ]
}
Campos
names[]

string

Es una lista de nombres de recursos de etiqueta de política. Por ejemplo, "projects/1/locations/eu/taxonomies/2/policyTags/3". Actualmente, se permite como máximo 1 etiqueta de política.

Representación JSON
{

  // Union field _name can be only one of the following:
  "name": string
  // End of list of possible types for union field _name.
}
Campos

Campo de unión _name.

_name puede ser una de las siguientes opciones:

name

string

Es el nombre del recurso de la política de datos con el formato projects/project_id/locations/location_id/dataPolicies/data_policy_id.

Representación JSON
{
  "value": string
}
Campos
value

string (int64 format)

Es el valor int64.

Representación JSON
{
  "type": string
}
Campos
type

string

Obligatorio. Es el tipo de un elemento de campo. Para obtener más información, consulta TableFieldSchema.type.

Representación JSON
{
  "typeSystem": enum (TypeSystem)
}
Campos
typeSystem

enum (TypeSystem)

Obligatorio. Especifica el sistema que define el tipo de datos externos.

Representación JSON
{
  "type": string,
  "expirationMs": string,
  "field": string,
  "requirePartitionFilter": boolean
}
Campos
type

string

Obligatorio. Los tipos admitidos son DAY, HOUR, MONTH y YEAR, que generarán una partición por día, hora, mes y año, respectivamente.

expirationMs

string (Int64Value format)

Es opcional. Cantidad de milisegundos durante los que se debe conservar el almacenamiento para una partición. Aquí se usa un wrapper porque 0 es un valor no válido.

field

string

Es opcional. Si no se configura, la tabla se particiona por la seudocolumna "_PARTITIONTIME"; si se configura, la tabla se particiona por este campo. El campo debe ser un campo TIMESTAMP o DATE de nivel superior. Su modo debe ser NULLABLE o REQUIRED. Aquí se usa un wrapper porque una cadena vacía es un valor no válido.

requirePartitionFilter
(deprecated)

boolean

Si se configura como verdadero, las búsquedas en esta tabla requieren que se especifique un filtro de partición que se pueda usar para la eliminación de particiones. Este campo está en desuso. En su lugar, configura el campo con el mismo nombre en la tabla. Este campo necesita un wrapper porque queremos generar el valor predeterminado, falso, si el usuario lo configuró de forma explícita.

Representación JSON
{
  "value": boolean
}
Campos
value

boolean

Es el valor booleano.

Representación JSON
{
  "field": string,
  "range": {
    object (Range)
  }
}
Campos
field

string

Obligatorio. Nombre de la columna según la que se particionará la tabla. Debe ser una columna de nivel superior de tipo INT64 cuyo modo sea NULLABLE o REQUIRED.

range

object (Range)

Define los rangos para la partición por rangos.

Representación JSON
{
  "start": string,
  "end": string,
  "interval": string
}
Campos
start

string

Obligatorio. Es el inicio de la partición por rango, inclusive. Este campo es un valor INT64 representado como una cadena.

end

string

Obligatorio. Es el final de la partición por rango, exclusivo. Este campo es un valor INT64 representado como una cadena.

interval

string

Obligatorio. Es el ancho de cada intervalo. Este campo es un valor INT64 representado como una cadena.

Representación JSON
{
  "fields": [
    string
  ]
}
Campos
fields[]

string

Son uno o más campos en los que se deben agrupar los datos. Solo se admiten campos de tipo simple, de nivel superior y no repetidos. El orden de los campos de agrupamiento debe priorizarse de más a menos importante para fines de filtrado.

Para obtener más información, consulta Introducción a las tablas agrupadas.

Representación JSON
{
  "partitionedColumn": [
    {
      object (PartitionedColumn)
    }
  ]
}
Campos
partitionedColumn[]

object (PartitionedColumn)

Es opcional. Son los detalles de cada columna de partición. Este campo solo se genera para todos los tipos de partición, excepto para las tablas particionadas del almacén de metadatos. Las tablas nativas de BigQuery solo admiten 1 columna de partición. Otros tipos de tablas pueden admitir 0, 1 o más columnas de partición. En el caso de las tablas particionadas del almacén de metadatos, el orden debe coincidir con el orden de definición en Hive Metastore, donde debe coincidir con el diseño físico de la tabla. Por ejemplo:

CREATE TABLE a_table(id BIGINT, name STRING) PARTITIONED BY (city STRING, state STRING).

En este caso, los valores deben ser ['city', 'state'] en ese orden.

Representación JSON
{

  // Union field _field can be only one of the following:
  "field": string
  // End of list of possible types for union field _field.
}
Campos

Campo de unión _field.

_field puede ser una de las siguientes opciones:

field

string

Obligatorio. Es el nombre de la columna de partición.

Representación JSON
{
  "value": string
}
Campos
value

string

Es el valor uint64.

Representación JSON
{
  "query": string,
  "userDefinedFunctionResources": [
    {
      object (UserDefinedFunctionResource)
    }
  ],
  "useLegacySql": boolean,
  "useExplicitColumnNames": boolean,
  "privacyPolicy": {
    object (PrivacyPolicy)
  },
  "foreignDefinitions": [
    {
      object (ForeignViewDefinition)
    }
  ]
}
Campos
query

string

Obligatorio. Es una consulta que BigQuery ejecuta cuando se hace referencia a la vista.

userDefinedFunctionResources[]

object (UserDefinedFunctionResource)

Describe los recursos de la función definida por el usuario que se utilizan en la consulta.

useLegacySql

boolean

Especifica si se debe usar el SQL heredado de BigQuery para esta vista. El valor predeterminado es verdadero. Si se establece en falso, la vista usará GoogleSQL de BigQuery: https://cloud.google.com/bigquery/sql-reference/

Las consultas y las vistas que hacen referencia a esta vista deben usar el mismo valor de la marca. Aquí se usa un wrapper porque el valor predeterminado es True.

useExplicitColumnNames

boolean

Es verdadero si los nombres de las columnas se especifican de forma explícita. Por ejemplo, con la sintaxis "CREATE VIEW v(c1, c2) AS …". Solo se puede configurar para las vistas de GoogleSQL.

privacyPolicy

object (PrivacyPolicy)

Es opcional. Especifica la política de privacidad de la vista.

foreignDefinitions[]

object (ForeignViewDefinition)

Es opcional. Representaciones de vistas extranjeras.

Representación JSON
{
  "resourceUri": string,
  "inlineCode": string,
  "inlineCodeAlternative": [
    string
  ]
}
Campos
resourceUri

string

[Elige una] Recurso de código para cargar desde un URI de Google Cloud Storage (gs://bucket/path).

inlineCode

string

[Elige una] Recurso intercalado que contiene código para una función definida por el usuario (UDF). Proporcionar un recurso de código intercalado equivale a proporcionar un URI para un archivo que contiene el mismo código.

inlineCodeAlternative[]

string

Representación JSON
{

  // Union field privacy_policy can be only one of the following:
  "aggregationThresholdPolicy": {
    object (AggregationThresholdPolicy)
  },
  "differentialPrivacyPolicy": {
    object (DifferentialPrivacyPolicy)
  }
  // End of list of possible types for union field privacy_policy.

  // Union field _join_restriction_policy can be only one of the following:
  "joinRestrictionPolicy": {
    object (JoinRestrictionPolicy)
  }
  // End of list of possible types for union field _join_restriction_policy.
}
Campos
Campo de unión privacy_policy. Política de privacidad asociada con esta especificación de requisitos. Solo se permite uno de los métodos de privacidad por objeto de fuente de datos. privacy_policy puede ser solo uno de los parámetros siguientes:
aggregationThresholdPolicy

object (AggregationThresholdPolicy)

Es opcional. Es la política que se usa para los umbrales de agregación.

differentialPrivacyPolicy

object (DifferentialPrivacyPolicy)

Es opcional. Es la política que se usa para la privacidad diferencial.

Campo de unión _join_restriction_policy.

_join_restriction_policy puede ser una de las siguientes opciones:

joinRestrictionPolicy

object (JoinRestrictionPolicy)

Es opcional. La política de restricción para unirse no forma parte de las políticas, ya que se puede configurar junto con otras políticas. Esta política permite que los proveedores de datos apliquen combinaciones en las "join_allowed_columns" cuando se consultan datos desde una vista protegida por la privacidad.

Representación JSON
{
  "privacyUnitColumns": [
    string
  ],

  // Union field _threshold can be only one of the following:
  "threshold": string
  // End of list of possible types for union field _threshold.
}
Campos
privacyUnitColumns[]

string

Es opcional. Son las columnas de unidades de privacidad asociadas a esta política. Por el momento, solo se permite una columna por objeto de fuente de datos (tabla, vista) como columna de unidad de privacidad. Se representa como un campo repetido en los metadatos para permitir la extensibilidad a varias columnas en el futuro. No se permiten duplicados ni campos struct repetidos. Para los campos anidados, usa la notación de puntos (“externo.interno”).

Campo de unión _threshold.

_threshold puede ser una de las siguientes opciones:

threshold

string (int64 format)

Es opcional. Es el umbral de la política de "umbral de agregación".

Representación JSON
{

  // Union field _max_epsilon_per_query can be only one of the following:
  "maxEpsilonPerQuery": number
  // End of list of possible types for union field _max_epsilon_per_query.

  // Union field _delta_per_query can be only one of the following:
  "deltaPerQuery": number
  // End of list of possible types for union field _delta_per_query.

  // Union field _max_groups_contributed can be only one of the following:
  "maxGroupsContributed": string
  // End of list of possible types for union field _max_groups_contributed.

  // Union field _privacy_unit_column can be only one of the following:
  "privacyUnitColumn": string
  // End of list of possible types for union field _privacy_unit_column.

  // Union field _epsilon_budget can be only one of the following:
  "epsilonBudget": number
  // End of list of possible types for union field _epsilon_budget.

  // Union field _delta_budget can be only one of the following:
  "deltaBudget": number
  // End of list of possible types for union field _delta_budget.

  // Union field _epsilon_budget_remaining can be only one of the following:
  "epsilonBudgetRemaining": number
  // End of list of possible types for union field _epsilon_budget_remaining.

  // Union field _delta_budget_remaining can be only one of the following:
  "deltaBudgetRemaining": number
  // End of list of possible types for union field _delta_budget_remaining.
}
Campos

Campo de unión _max_epsilon_per_query.

_max_epsilon_per_query puede ser una de las siguientes opciones:

maxEpsilonPerQuery

number

Es opcional. Es el valor máximo de épsilon que puede consumir una búsqueda. Si el suscriptor especifica epsilon como parámetro en una consulta SELECT, debe ser menor o igual que este valor. El parámetro epsilon controla la cantidad de ruido que se agrega a los grupos. Un valor más alto de epsilon significa menos ruido.

Campo de unión _delta_per_query.

_delta_per_query puede ser una de las siguientes opciones:

deltaPerQuery

number

Es opcional. Es el valor delta que se usa por búsqueda. Delta representa la probabilidad de que cualquier fila no tenga una privacidad diferencial de épsilon. Indica el riesgo asociado con la exposición de filas agregadas en el resultado de una consulta.

Campo de unión _max_groups_contributed.

_max_groups_contributed puede ser una de las siguientes opciones:

maxGroupsContributed

string (int64 format)

Es opcional. Es el valor máximo de grupos que se usa por búsqueda. Representa la cantidad máxima de grupos a los que puede contribuir cada entidad protegida. Cambiar este valor no mejora ni empeora la privacidad. El mejor valor para la precisión y la utilidad depende de la búsqueda y los datos.

Campo de unión _privacy_unit_column.

_privacy_unit_column puede ser una de las siguientes opciones:

privacyUnitColumn

string

Es opcional. Es la columna de la unidad de privacidad asociada a esta política. Las políticas de privacidad diferencial solo pueden tener una columna de unidad de privacidad por objeto de fuente de datos (tabla o vista).

Campo de unión _epsilon_budget.

_epsilon_budget puede ser una de las siguientes opciones:

epsilonBudget

number

Es opcional. Es el presupuesto total de épsilon para todas las consultas en la vista protegida por la privacidad. Cada consulta de suscriptor en esta vista cobra la cantidad de épsilon que solicita en su consulta. Si hay presupuesto suficiente, la consulta del suscriptor intentará completarse. Sin embargo, es posible que falle por otros motivos, en cuyo caso se reembolsará el cargo. Si no hay presupuesto suficiente, se rechaza la búsqueda. Es posible que haya varios intentos de cargo si una sola búsqueda hace referencia a varias vistas. En este caso, debe haber presupuesto suficiente para todos los cargos, o bien se rechazará la búsqueda y se reembolsarán los cargos de la mejor manera posible. El presupuesto no tiene una política de actualización y solo se puede actualizar a través de ALTER VIEW o se puede evitar creando una vista nueva que se pueda consultar con un presupuesto actualizado.

Campo de unión _delta_budget.

_delta_budget puede ser una de las siguientes opciones:

deltaBudget

number

Es opcional. Es el presupuesto total del parámetro delta para todas las consultas en la vista protegida por la privacidad. Cada consulta de suscriptor en esta vista cobra la cantidad de delta que el colaborador predefine a través del campo delta_per_query de la política de privacidad. Si hay presupuesto suficiente, la consulta del suscriptor intentará completarse. Sin embargo, es posible que falle por otros motivos, en cuyo caso se reembolsará el cargo. Si no hay presupuesto suficiente, se rechaza la búsqueda. Es posible que haya varios intentos de cargo si una sola búsqueda hace referencia a varias vistas. En este caso, debe haber presupuesto suficiente para todos los cargos, o bien se rechazará la búsqueda y se reembolsarán los cargos de la mejor manera posible. El presupuesto no tiene una política de actualización y solo se puede actualizar a través de ALTER VIEW o se puede evitar creando una vista nueva que se pueda consultar con un presupuesto actualizado.

Campo de unión _epsilon_budget_remaining.

_epsilon_budget_remaining puede ser una de las siguientes opciones:

epsilonBudgetRemaining

number

Solo salida. Es el presupuesto de épsilon restante. Si se agota el presupuesto, no se permiten más búsquedas. Ten en cuenta que el presupuesto para las búsquedas en curso se deduce antes de que se ejecuten. Si la consulta falla o se cancela, se reembolsará el presupuesto. En este caso, puede aumentar el importe del presupuesto restante.

Campo de unión _delta_budget_remaining.

_delta_budget_remaining puede ser una de las siguientes opciones:

deltaBudgetRemaining

number

Solo salida. Es el presupuesto delta restante. Si se agota el presupuesto, no se permiten más búsquedas. Ten en cuenta que el presupuesto para las búsquedas en curso se deduce antes de que se ejecuten. Si la consulta falla o se cancela, se reembolsará el presupuesto. En este caso, puede aumentar el importe del presupuesto restante.

Representación JSON
{
  "joinAllowedColumns": [
    string
  ],

  // Union field _join_condition can be only one of the following:
  "joinCondition": enum (JoinCondition)
  // End of list of possible types for union field _join_condition.
}
Campos
joinAllowedColumns[]

string

Es opcional. Son las únicas columnas en las que se permiten las uniones. Este campo se debe especificar para join_conditions JOIN_ANY y JOIN_ALL, y no se puede configurar para JOIN_BLOCKED.

Campo de unión _join_condition.

_join_condition puede ser una de las siguientes opciones:

joinCondition

enum (JoinCondition)

Es opcional. Especifica si se requiere una unión en las consultas para la vista. El valor predeterminado es JOIN_CONDITION_UNSPECIFIED.

Representación JSON
{
  "query": string,
  "dialect": string
}
Campos
query

string

Obligatorio. Es la consulta que define la vista.

dialect

string

Es opcional. Representa el dialecto de la búsqueda.

Representación JSON
{
  "query": string,
  "lastRefreshTime": string,
  "enableRefresh": boolean,
  "refreshIntervalMs": string,
  "allowNonIncrementalDefinition": boolean
}
Campos
query

string

Obligatorio. Es una consulta cuyos resultados se conservan.

lastRefreshTime

string (int64 format)

Solo salida. La hora en que se actualizó por última vez esta vista materializada, en milisegundos desde la época.

enableRefresh

boolean

Es opcional. Habilita la actualización automática de la vista materializada cuando se actualice la tabla base. El valor predeterminado es "true".

refreshIntervalMs

string (UInt64Value format)

Es opcional. Es la frecuencia máxima con la que se actualizará esta vista materializada. El valor predeterminado es "1800000" (30 minutos).

allowNonIncrementalDefinition

boolean

Es opcional. Esta opción declara la intención de construir una vista materializada que no se actualiza de forma incremental. Las vistas materializadas no incrementales admiten un rango expandido de consultas de SQL. La opción allow_non_incremental_definition no se puede cambiar después de crear la vista materializada.

Representación JSON
{
  "refreshWatermark": string,
  "lastRefreshStatus": {
    object (ErrorProto)
  }
}
Campos
refreshWatermark

string (Timestamp format)

Solo salida. Es la marca de agua de actualización de la vista materializada. Hasta este momento, los datos de las tablas base se recopilaron en la caché de la vista materializada.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

lastRefreshStatus

object (ErrorProto)

Solo salida. Es el resultado del error de la última actualización automática. Si está presente, indica que la última actualización automática no se realizó correctamente.

Representación JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Representa los segundos de la hora UTC desde la época de Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z).

nanos

integer

Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de la duración en nanosegundos, no una alternativa a los segundos. Los valores de segundos negativos con fracciones deben tener valores nanos no negativos que se cuentan hacia adelante en el tiempo. Debe ser un valor entre 0 y 999,999,999, inclusive.

Representación JSON
{
  "reason": string,
  "location": string,
  "debugInfo": string,
  "message": string
}
Campos
reason

string

Es un código de error breve que resume el error.

location

string

Especifica dónde se produjo el error, si está presente.

debugInfo

string

Es información de depuración. Esta propiedad es interna de Google y no se debe usar.

message

string

Es una descripción del error legible por humanos.

Representación JSON
{
  "sourceUris": [
    string
  ],
  "fileSetSpecType": enum (FileSetSpecType),
  "schema": {
    object (TableSchema)
  },
  "sourceFormat": string,
  "maxBadRecords": integer,
  "autodetect": boolean,
  "ignoreUnknownValues": boolean,
  "compression": string,
  "csvOptions": {
    object (CsvOptions)
  },
  "jsonOptions": {
    object (JsonOptions)
  },
  "bigtableOptions": {
    object (BigtableOptions)
  },
  "googleSheetsOptions": {
    object (GoogleSheetsOptions)
  },
  "maxBadRecordsAlternative": [
    integer
  ],
  "hivePartitioningOptions": {
    object (HivePartitioningOptions)
  },
  "connectionId": string,
  "decimalTargetTypes": [
    enum (DecimalTargetType)
  ],
  "avroOptions": {
    object (AvroOptions)
  },
  "jsonExtension": enum (JsonExtension),
  "parquetOptions": {
    object (ParquetOptions)
  },
  "referenceFileSchemaUri": string,
  "metadataCacheMode": enum (MetadataCacheMode),
  "timestampTargetPrecision": [
    integer
  ],

  // Union field _object_metadata can be only one of the following:
  "objectMetadata": enum (ObjectMetadata)
  // End of list of possible types for union field _object_metadata.

  // Union field _time_zone can be only one of the following:
  "timeZone": string
  // End of list of possible types for union field _time_zone.

  // Union field _date_format can be only one of the following:
  "dateFormat": string
  // End of list of possible types for union field _date_format.

  // Union field _datetime_format can be only one of the following:
  "datetimeFormat": string
  // End of list of possible types for union field _datetime_format.

  // Union field _time_format can be only one of the following:
  "timeFormat": string
  // End of list of possible types for union field _time_format.

  // Union field _timestamp_format can be only one of the following:
  "timestampFormat": string
  // End of list of possible types for union field _timestamp_format.
}
Campos
sourceUris[]

string

[Obligatorio] Son los URIs completamente calificados que apuntan a tus datos en Google Cloud. En el caso de los URIs de Google Cloud Storage, cada URI puede contener un carácter comodín “*” y debe aparecer después del nombre del “bucket”. Los límites de tamaño relacionados con los trabajos de carga se aplican a las fuentes de datos externas. Para los URIs de Google Cloud Bigtable, solo se puede especificar un URI, y debe ser una URL HTTPS válida y especificada por completo para una tabla de Google Cloud Bigtable. Para las copias de seguridad de Google Cloud Datastore, solo se puede especificar un URI. Además, no se permite el carácter comodín "*".

fileSetSpecType

enum (FileSetSpecType)

Es opcional. Especifica cómo se interpretan los URIs de origen para construir el conjunto de archivos que se cargará. De forma predeterminada, los URIs de origen se expanden en el almacenamiento subyacente. Otras opciones incluyen especificar archivos de manifiesto. Solo se aplica a los sistemas de almacenamiento de objetos.

schema

object (TableSchema)

Es opcional. Es el esquema de los datos. Se requiere un esquema para los formatos CSV y JSON si la detección automática no está activada. El esquema no se permite para Google Cloud Bigtable, las copias de seguridad de Cloud Datastore ni los formatos Avro, ORC y Parquet.

sourceFormat

string

[Obligatorio] Es el formato de los datos. Para los archivos CSV, especifica "CSV". Para Hojas de cálculo de Google, especifica "GOOGLE_SHEETS". Para JSON delimitado por saltos de línea, especifica "NEWLINE_DELIMITED_JSON". Para los archivos Avro, especifica "AVRO". Para las copias de seguridad de Google Cloud Datastore, especifica "DATASTORE_BACKUP". Para las tablas de Apache Iceberg, especifica "ICEBERG". Para los archivos ORC, especifica "ORC". En el caso de los archivos Parquet, especifica "PARQUET". [Beta] Para Google Cloud Bigtable, especifica "BIGTABLE".

maxBadRecords

integer

Es opcional. Es la cantidad máxima de registros erróneos que BigQuery puede ignorar cuando lee datos. Si la cantidad de registros erróneos supera este valor, se muestra un error no válido en el resultado del trabajo. El valor predeterminado es 0, por lo que es obligatorio que todos los registros sean válidos. Este parámetro de configuración se ignora para Google Cloud Bigtable, las copias de seguridad de Google Cloud Datastore y los formatos Avro, ORC y Parquet.

autodetect

boolean

Intenta detectar automáticamente las opciones de esquema y formato. Se respetará cualquier opción especificada de forma explícita.

ignoreUnknownValues

boolean

Es opcional. Indica si BigQuery debe permitir valores adicionales que no estén representados en el esquema de la tabla. Si es verdadero, los valores adicionales se ignoran. Si es falso, los registros con columnas adicionales se tratan como registros incorrectos y, si hay demasiados, se muestra un error de no válido en el resultado del trabajo. El valor predeterminado es falso. La propiedad sourceFormat determina qué trata BigQuery como un valor adicional: CSV: columnas finales JSON: valores con nombres que no coinciden con ningún nombre de columna Google Cloud Bigtable: Se ignora este parámetro de configuración. Copias de seguridad de Google Cloud Datastore: Se ignora este parámetro de configuración. Avro: Este parámetro de configuración se ignora. ORC: Este parámetro de configuración se ignora. Parquet: Este parámetro de configuración se ignora.

compression

string

Es opcional. El tipo de compresión de la fuente de datos. Los valores posibles incluyen GZIP y NONE. El valor predeterminado es NONE. Este parámetro de configuración se ignora para Google Cloud Bigtable, las copias de seguridad de Google Cloud Datastore y los formatos Avro, ORC y Parquet. Una cadena vacía es un valor no válido.

csvOptions

object (CsvOptions)

Es opcional. Son propiedades adicionales que se deben establecer si sourceFormat se configura como CSV.

jsonOptions

object (JsonOptions)

Es opcional. Son propiedades adicionales que se deben configurar si sourceFormat se establece en JSON.

bigtableOptions

object (BigtableOptions)

Es opcional. Son opciones adicionales si sourceFormat está configurado como BIGTABLE.

googleSheetsOptions

object (GoogleSheetsOptions)

Es opcional. Son opciones adicionales si sourceFormat se configura como GOOGLE_SHEETS.

maxBadRecordsAlternative[]

integer

No se debe usar este campo.

hivePartitioningOptions

object (HivePartitioningOptions)

Es opcional. Cuando se configura, se establece la compatibilidad con la partición de Hive. No todos los formatos de almacenamiento admiten la partición de subárbol. Si solicitas la partición de subárbol en un formato no admitido, se producirá un error, al igual que si proporcionas una especificación no válida.

connectionId

string

Es opcional. Es la conexión que especifica las credenciales que se usarán para leer el almacenamiento externo, como Azure Blob, Cloud Storage o S3. El connection_id puede tener el formato {project_id}.{location_id};{connection_id} o projects/{project_id}/locations/{location_id}/connections/{connection_id}.

decimalTargetTypes[]

enum (DecimalTargetType)

Define la lista de tipos de datos de SQL posibles a los que se convierten los valores decimales de origen. Esta lista y los parámetros de precisión y escala del campo decimal determinan el tipo de destino. En el orden de NUMERIC, BIGNUMERIC y STRING, se elige un tipo si está en la lista especificada y si admite la precisión y el escalamiento. STRING admite todos los valores de precisión y escalamiento. Si ninguno de los tipos enumerados admite la precisión y el escalamiento, se elige el tipo que admite el rango más amplio en la lista especificada y, si un valor excede el rango admitido cuando se leen los datos, se mostrará un error.

Ejemplo: Supongamos que el valor de este campo es ["NUMERIC", "BIGNUMERIC"]. Si (precisión,escala) es:

  • (38,9) -> NUMERIC;
  • (39,9) -> BIGNUMERIC (NUMERIC no puede contener 30 dígitos enteros).
  • (38,10) -> BIGNUMERIC (NUMERIC no puede contener 10 dígitos fraccionarios);
  • (76,38) -> BIGNUMERIC;
  • (77,38) -> BIGNUMERIC (error si el valor supera el rango admitido).

Este campo no puede contener tipos duplicados. Se ignora el orden de los tipos en este campo. Por ejemplo, ["BIGNUMERIC", "NUMERIC"] es lo mismo que ["NUMERIC", "BIGNUMERIC"], y NUMERIC siempre tiene prioridad sobre BIGNUMERIC.

El valor predeterminado es ["NUMERIC", "STRING"] para ORC y ["NUMERIC"] para los otros formatos de archivo.

avroOptions

object (AvroOptions)

Es opcional. Son propiedades adicionales que se deben configurar si sourceFormat está establecido en AVRO.

jsonExtension

enum (JsonExtension)

Es opcional. Es una opción de carga que se usa junto con el formato fuente JSON delimitado por saltos de línea para indicar que se está cargando una variante de JSON. Para cargar GeoJSON delimitado por saltos de línea, especifica GEOJSON (y source_format debe establecerse en NEWLINE_DELIMITED_JSON).

parquetOptions

object (ParquetOptions)

Es opcional. Son propiedades adicionales que se deben configurar si sourceFormat está establecido en PARQUET.

referenceFileSchemaUri

string

Es opcional. Cuando se crea una tabla externa, el usuario puede proporcionar un archivo de referencia con el esquema de la tabla. Esto está habilitado para los siguientes formatos: AVRO, PARQUET y ORC.

metadataCacheMode

enum (MetadataCacheMode)

Es opcional. Modo de caché de metadatos para la tabla. Establece este parámetro para habilitar el almacenamiento en caché de metadatos de la fuente de datos externa.

timestampTargetPrecision[]

integer

Son las precisiones (cantidad máxima de dígitos totales en base 10) para los segundos de los tipos TIMESTAMP que se permiten en la tabla de destino para el modo de detección automática.

Disponible para los formatos CSV.

Para el formato CSV, los valores posibles incluyen: Not Specified, [], o [6]: timestamp(6) para todas las columnas TIMESTAMP detectadas automáticamente [6, 12]: timestamp(6) para todas las columnas TIMESTAMP detectadas automáticamente que tienen menos de 6 dígitos de subsegundos. timestamp(12) para todas las columnas TIMESTAMP detectadas automáticamente que tienen más de 6 dígitos de subsegundos. [12]: timestamp(12) para todas las columnas TIMESTAMP detectadas automáticamente.

Se ignora el orden de los elementos en este array. Las entradas que tengan una precisión mayor que la precisión objetivo más alta de este array se truncarán.

Campo de unión _object_metadata.

_object_metadata puede ser una de las siguientes opciones:

objectMetadata

enum (ObjectMetadata)

Es opcional. ObjectMetadata se usa para crear tablas de objetos. Las tablas de objetos contienen una lista de los objetos (con sus metadatos) que se encuentran en los source_uris. Si se configura ObjectMetadata, se debe omitir source_format.

Actualmente, SIMPLE es el único tipo de metadatos de objeto admitido.

Campo de unión _time_zone.

_time_zone puede ser una de las siguientes opciones:

timeZone

string

Es opcional. Zona horaria que se usa cuando se analizan valores de marcas de tiempo que no tienen información específica de la zona horaria (p.ej., 2024-04-20 12:34:56). El formato esperado es una cadena de zona horaria de IANA (p.ej., America/Los_Angeles).

Campo de unión _date_format.

_date_format puede ser una de las siguientes opciones:

dateFormat

string

Es opcional. Es el formato que se usa para analizar los valores de DATE. Admite valores de estilo C y SQL.

Campo de unión _datetime_format.

_datetime_format puede ser una de las siguientes opciones:

datetimeFormat

string

Es opcional. Es el formato que se usa para analizar los valores de DATETIME. Admite valores de estilo C y SQL.

Campo de unión _time_format.

_time_format puede ser una de las siguientes opciones:

timeFormat

string

Es opcional. Es el formato que se usa para analizar los valores de TIME. Admite valores de estilo C y SQL.

Campo de unión _timestamp_format.

_timestamp_format puede ser una de las siguientes opciones:

timestampFormat

string

Es opcional. Es el formato que se usa para analizar los valores de TIMESTAMP. Admite valores de estilo C y SQL.

Representación JSON
{
  "value": integer
}
Campos
value

integer

Es el valor int32.

Representación JSON
{
  "fieldDelimiter": string,
  "skipLeadingRows": string,
  "quote": string,
  "allowQuotedNewlines": boolean,
  "allowJaggedRows": boolean,
  "encoding": string,
  "preserveAsciiControlCharacters": boolean,
  "nullMarker": string,
  "nullMarkers": [
    string
  ],
  "sourceColumnMatch": string
}
Campos
fieldDelimiter

string

Es opcional. Es el carácter separador de los campos en un archivo CSV. El separador se interpreta como un solo byte. En el caso de los archivos codificados en ISO-8859-1, se puede usar cualquier carácter único como separador. En el caso de los archivos codificados en UTF-8, los caracteres representados en el rango decimal 1-127 (U+0001-U+007F) se pueden usar sin modificaciones. Los caracteres UTF-8 codificados con varios bytes (es decir, U+0080 y superiores) solo tendrán el primer byte utilizado para separar campos. Los bytes restantes se tratarán como parte del campo. BigQuery también admite la secuencia de escape “\t” (U+0009) para especificar un separador de tabulación. El valor predeterminado es la coma (“,”, U+002C).

skipLeadingRows

string (Int64Value format)

Es opcional. Es la cantidad de filas en la parte superior de un archivo CSV que BigQuery omitirá cuando lea los datos. El valor predeterminado es 0. Esta propiedad es útil si tienes filas de encabezado en el archivo que se deben omitir. Cuando la detección automática está activada, el comportamiento es el siguiente:

  • skipLeadingRows no especificado: La detección automática intenta detectar encabezados en la primera fila. Si no se detectan, la fila se lee como datos. De lo contrario, los datos se leen a partir de la segunda fila.
  • skipLeadingRows es 0: Indica a la detección automática que no hay encabezados y que los datos se deben leer a partir de la primera fila.
  • skipLeadingRows = N > 0: La detección automática omite N-1 filas y trata de detectar encabezados en la fila N. Si no se detectan encabezados, simplemente se omite la fila N. De lo contrario, se usa la fila N para extraer los nombres de las columnas del esquema detectado.
quote

string

Es opcional. Es el valor que se usa para entrecomillar secciones de datos en un archivo CSV. BigQuery convierte la cadena en codificación ISO-8859-1 y, luego, usa el primer byte de la cadena codificada para dividir los datos en su estado binario sin procesar. El valor predeterminado es una comilla doble (“”). Si tus datos no contienen secciones entrecomilladas, establece el valor de la propiedad en una cadena vacía. Si tus datos contienen caracteres de salto de línea entre comillas, también debes establecer la propiedad allowQuotedNewlines como verdadera. Para incluir el carácter de comillas específico dentro de un valor entrecomillado, coloca un carácter de comillas que coincida antes de él. Por ejemplo, si deseas escapar del carácter predeterminado ‘ " ’, usa ‘ "" ’.

allowQuotedNewlines

boolean

Es opcional. Indica si BigQuery debe permitir secciones de datos entrecomillados que contengan caracteres de salto de línea en un archivo CSV. El valor predeterminado es falso.

allowJaggedRows

boolean

Es opcional. Indica si BigQuery debe aceptar filas a las que les faltan columnas opcionales finales. Si es verdadero, BigQuery trata las columnas finales faltantes como valores nulos. Si es falso, los registros en los que faltan columnas finales se tratan como registros incorrectos y, si hay demasiados, se muestra un error de no válido en el resultado del trabajo. El valor predeterminado es falso.

encoding

string

Es opcional. La codificación de caracteres de los datos. Los valores admitidos son UTF-8, ISO-8859-1, UTF-16BE, UTF-16LE, UTF-32BE y UTF-32LE. El valor predeterminado es UTF-8. BigQuery decodifica los datos luego de la división de los datos binarios sin procesar con los valores de las propiedades quote y fieldDelimiter.

preserveAsciiControlCharacters

boolean

Es opcional. Indica si se conservan los caracteres de control ASCII incorporados (los primeros 32 caracteres de la tabla ASCII, desde "\x00" hasta "\x1F").

nullMarker

string

Es opcional. Especifica una cadena que representa un valor nulo en un archivo CSV. Por ejemplo, si especificas “\N”, BigQuery interpreta “\N” como un valor nulo cuando se consulta un archivo CSV. El valor predeterminado es una cadena vacía. Si estableces esta propiedad como un valor personalizado, BigQuery muestra un error si hay una cadena vacía para todos los tipos de datos, excepto STRING y BYTE. Para las columnas STRING y BYTE, BigQuery interpreta la cadena vacía como un valor vacío.

nullMarkers[]

string

Es opcional. Es una lista de cadenas representadas como un valor NULL de SQL en un archivo CSV.

No se pueden establecer null_marker y null_markers al mismo tiempo. Si se establece null_marker, no se debe establecer null_markers. Si se establece null_markers, no se debe establecer null_marker. Si se configuran null_marker y null_markers al mismo tiempo, se generará un error del usuario. Cualquier cadena que se incluya en null_markers, incluida la cadena vacía, se interpretará como NULL de SQL. Esto se aplica a todos los tipos de columnas.

sourceColumnMatch

string

Es opcional. Controla la estrategia que se usa para hacer coincidir las columnas cargadas con el esquema. Si no se configura, se elige un valor predeterminado adecuado según la forma en que se proporciona el esquema. Si se usa la detección automática, las columnas se correlacionan por nombre. De lo contrario, las columnas se correlacionan por posición. Esto se hace para mantener la retrocompatibilidad del comportamiento. Los valores aceptables son: POSITION (coincide por posición). Se supone que las columnas están ordenadas de la misma manera que el esquema. NAME: Coincide por nombre. Esto lee la fila de encabezado como nombres de columna y reordena las columnas para que coincidan con los nombres de campo del esquema.

Representación JSON
{
  "encoding": string
}
Campos
encoding

string

Es opcional. La codificación de caracteres de los datos. Los valores admitidos son UTF-8, UTF-16BE, UTF-16LE, UTF-32BE y UTF-32LE. El valor predeterminado es UTF-8.

Representación JSON
{
  "columnFamilies": [
    {
      object (BigtableColumnFamily)
    }
  ],
  "ignoreUnspecifiedColumnFamilies": boolean,
  "readRowkeyAsString": boolean,
  "outputColumnFamiliesAsJson": boolean
}
Campos
columnFamilies[]

object (BigtableColumnFamily)

Es opcional. Es la lista de familias de columnas que se expondrán en el esquema de la tabla, junto con sus tipos. Esta lista restringe las familias de columnas a las que se puede hacer referencia en las consultas y especifica sus tipos de valores. Puedes usar esta lista para realizar conversiones de tipo. Consulta el campo "type" para obtener más detalles. Si dejas esta lista vacía, todas las familias de columnas estarán presentes en el esquema de la tabla y sus valores se leerán como BYTES. Durante una consulta, solo se leen de Bigtable las familias de columnas a las que se hace referencia en esa consulta.

ignoreUnspecifiedColumnFamilies

boolean

Es opcional. Si el campo es verdadero, las familias de columnas que no se especifican en la lista columnFamilies no se exponen en el esquema de la tabla. De lo contrario, se leerán con valores de tipo BYTES. El valor predeterminado es falso.

readRowkeyAsString

boolean

Es opcional. Si el campo es verdadero, las familias de columnas de clave de fila se leerán y convertirán en cadenas. De lo contrario, se leerán con valores de tipo BYTES y los usuarios deberán convertirlos de forma manual con CAST si es necesario. El valor predeterminado es falso.

outputColumnFamiliesAsJson

boolean

Es opcional. Si el campo es verdadero, cada familia de columnas se leerá como una sola columna JSON. De lo contrario, se leerán como una estructura de celda repetida que contiene tuplas de marca de tiempo y valor. El valor predeterminado es falso.

Representación JSON
{
  "familyId": string,
  "type": string,
  "encoding": string,
  "columns": [
    {
      object (BigtableColumn)
    }
  ],
  "onlyReadLatest": boolean,
  "protoConfig": {
    object (BigtableProtoConfig)
  }
}
Campos
familyId

string

Es el identificador de la familia de columnas.

type

string

Es opcional. Es el tipo al que se convertirá el valor de las celdas de esta familia de columnas. Se espera que los valores se codifiquen con la función Bytes.toBytes de HBase cuando se usa el valor de codificación BINARY. Se permiten los siguientes tipos de BigQuery (distingue mayúsculas de minúsculas):

  • BYTES
  • STRING
  • INTEGER
  • FLOAT
  • BOOLEAN
  • JSON

El tipo predeterminado es BYTES. Esto se puede anular para una columna específica si se incluye esa columna en "columns" y se especifica un tipo para ella.

encoding

string

Es opcional. Es la codificación de los valores cuando el tipo no es STRING. Los valores de codificación aceptables son: TEXT, que indica que los valores son cadenas de texto alfanuméricas. BINARY: Indica que los valores se codifican con la familia de funciones Bytes.toBytes de HBase. PROTO_BINARY: Indica que los valores se codifican con mensajes proto serializados. Solo se puede usar en combinación con el tipo JSON. Esto se puede anular para una columna específica si se incluye esa columna en "columns" y se especifica una codificación para ella.

columns[]

object (BigtableColumn)

Es opcional. Listas de columnas que se deben exponer como campos individuales en lugar de una lista de pares (nombre de columna, valor). Se puede acceder a todas las columnas cuyo calificador coincida con un calificador de esta lista como <family field name>.<column field name>. Se puede acceder a otras columnas como una lista a través del campo <family field name>.Column.

onlyReadLatest

boolean

Es opcional. Si se configura este parámetro, solo se expondrá la versión más reciente del valor para todas las columnas de esta familia de columnas. Esto se puede anular para una columna específica si se incluye esa columna en "columns" y se especifica un parámetro de configuración diferente para ella.

protoConfig

object (BigtableProtoConfig)

Es opcional. Son parámetros de configuración específicos de Protobuf que solo tienen efecto cuando la codificación es PROTO_BINARY.

Representación JSON
{
  "qualifierEncoded": string,
  "qualifierString": string,
  "fieldName": string,
  "type": string,
  "encoding": string,
  "onlyReadLatest": boolean,
  "protoConfig": {
    object (BigtableProtoConfig)
  }
}
Campos
qualifierEncoded

string (BytesValue format)

[Obligatorio] Es el calificador de la columna. Las columnas de la familia de columnas principal que tiene este calificador exacto se exponen como un campo <family field name>.<column field name>. Si el calificador es una cadena UTF-8 válida, se puede especificar en el campo qualifier_string. De lo contrario, se debe establecer un valor codificado en base64 en qualifier_encoded. El nombre del campo de la columna es el mismo que el calificador de la columna. Sin embargo, si el calificador no es un identificador de campo de BigQuery válido, es decir, no coincide con [a-zA-Z][a-zA-Z0-9_]*, se debe proporcionar un identificador válido como field_name.

qualifierString

string

Es una cadena calificadora.

fieldName

string

Es opcional. Si el calificador no es un identificador de campo de BigQuery válido, es decir, no coincide con [a-zA-Z][a-zA-Z0-9_]*, se debe proporcionar un identificador válido como nombre del campo de columna y se usa como nombre de campo en las consultas.

type

string

Es opcional. Tipo al que se convertirá el valor de las celdas de esta columna. Se espera que los valores se codifiquen con la función Bytes.toBytes de HBase cuando se usa el valor de codificación BINARY. Se permiten los siguientes tipos de BigQuery (distingue mayúsculas de minúsculas):

  • BYTES
  • STRING
  • INTEGER
  • FLOAT
  • BOOLEAN
  • JSON

El tipo predeterminado es BYTES. También se puede establecer "type" a nivel de la familia de columnas. Sin embargo, el parámetro de configuración en este nivel tiene prioridad si "type" se establece en ambos niveles.

encoding

string

Es opcional. Es la codificación de los valores cuando el tipo no es STRING. Los valores de codificación aceptables son: TEXT, que indica que los valores son cadenas de texto alfanuméricas. BINARY: Indica que los valores se codifican con la familia de funciones Bytes.toBytes de HBase. PROTO_BINARY: Indica que los valores se codifican con mensajes proto serializados. Solo se puede usar en combinación con el tipo JSON. También se puede establecer "encoding" a nivel de la familia de columnas. Sin embargo, el parámetro de configuración en este nivel tiene prioridad si "encoding" se establece en ambos niveles.

onlyReadLatest

boolean

Es opcional. Si se configura este parámetro, solo se expondrá la versión más reciente del valor en esta columna. "onlyReadLatest" también se puede configurar a nivel de la familia de columnas. Sin embargo, el parámetro de configuración en este nivel tiene prioridad si "onlyReadLatest" se establece en ambos niveles.

protoConfig

object (BigtableProtoConfig)

Es opcional. Son parámetros de configuración específicos de Protobuf que solo tienen efecto cuando la codificación es PROTO_BINARY.

Representación JSON
{
  "value": string
}
Campos
value

string (bytes format)

Es el valor de bytes.

Es una cadena codificada en Base64.

Representación JSON
{
  "schemaBundleId": string,
  "protoMessageName": string
}
Campos
schemaBundleId

string

Es opcional. Es el ID del recurso SchemaBundle de Bigtable asociado a este archivo .proto. Se debe hacer referencia al ID dentro de la tabla principal, p.ej., foo en lugar de projects/{project}/instances/{instance}/tables/{table}/schemaBundles/foo Consulta más detalles sobre los SchemaBundles de Bigtable.

protoMessageName

string

Es opcional. Es el nombre completo del mensaje .proto del búfer de protocolo. Tiene el formato "foo.bar.Message".

Representación JSON
{
  "skipLeadingRows": string,
  "range": string
}
Campos
skipLeadingRows

string (Int64Value format)

Es opcional. Cantidad de filas en la parte superior de una hoja que BigQuery omitirá cuando lea los datos. El valor predeterminado es 0. Esta propiedad es útil si tienes filas de encabezado que se deben omitir. Cuando la detección automática está activada, el comportamiento es el siguiente: * skipLeadingRows no especificado: La detección automática intenta detectar encabezados en la primera fila. Si no se detectan, la fila se lee como datos. De lo contrario, los datos se leen a partir de la segunda fila. * skipLeadingRows es 0: Indica a la detección automática que no hay encabezados y que los datos se deben leer a partir de la primera fila. * skipLeadingRows = N > 0: La detección automática omite N-1 filas y trata de detectar encabezados en la fila N. Si no se detectan encabezados, simplemente se omite la fila N. De lo contrario, se usa la fila N para extraer los nombres de las columnas del esquema detectado.

range

string

Es opcional. Es el rango de una hoja desde la que se realiza la búsqueda. Solo se usa cuando no está vacío. Formato típico: nombre_de_hoja!id_celda_superior_izquierda:id_celda_inferior_derecha. Por ejemplo: hoja1!A1:B20

Representación JSON
{
  "mode": string,
  "sourceUriPrefix": string,
  "requirePartitionFilter": boolean,
  "fields": [
    string
  ]
}
Campos
mode

string

Es opcional. Cuando se configura, indica qué modo de partición de Hive se debe usar cuando se leen datos. Se admiten los siguientes modos:

  • AUTO: Infiere automáticamente los nombres y tipos de claves de partición.

  • STRINGS: Se infieren automáticamente los nombres de las claves de partición. Todos los tipos son cadenas.

  • CUSTOM: El esquema de clave de partición está codificado en el prefijo de URI de origen.

No todos los formatos de almacenamiento admiten la partición de Hive. Si solicitas la partición de Hive en un formato no admitido, se generará un error. Actualmente, los formatos compatibles son JSON, CSV, ORC, Avro y Parquet.

sourceUriPrefix

string

Es opcional. Cuando se solicita la detección de particiones de Hive, se debe requerir un prefijo común para todos los URIs de origen. El prefijo debe finalizar inmediatamente antes de que comience la codificación de la clave de partición. Por ejemplo, considera los archivos que siguen este diseño de datos:

gs://bucket/path_to_table/dt=2019-06-01/country=USA/id=7/file.avro

gs://bucket/path_to_table/dt=2019-05-31/country=CA/id=3/file.avro

Cuando se solicita la partición en colmena con la detección AUTO o STRINGS, el prefijo común puede ser gs://bucket/path_to_table o gs://bucket/path_to_table/.

La detección de CUSTOM requiere que se codifique el esquema de partición inmediatamente después del prefijo común. Para CUSTOM, cualquiera de los siguientes

  • gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:INTEGER}

  • gs://bucket/path_to_table/{dt:STRING}/{country:STRING}/{id:INTEGER}

  • gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:STRING}

serían todos prefijos de URI de origen válidos.

requirePartitionFilter

boolean

Es opcional. Si se configura como verdadero, las búsquedas en esta tabla requieren que se especifique un filtro de partición que se pueda usar para la eliminación de particiones.

Ten en cuenta que este campo solo debe ser verdadero cuando se crea una tabla externa permanente o se consulta una tabla externa temporal.

Las cargas particionadas de Hive con require_partition_filter establecido de forma explícita como verdadero fallarán.

fields[]

string

Solo salida. En el caso de las tablas externas permanentes, este campo se propaga con las claves de partición de Hive en el orden en que se infirieron. Los tipos de las claves de partición se pueden deducir verificando el esquema de la tabla (que incluirá las claves de partición). No todas las APIs propagarán este campo en el resultado. Por ejemplo, Tables.Get lo propagará, pero Tables.List no contendrá este campo.

Representación JSON
{
  "useAvroLogicalTypes": boolean
}
Campos
useAvroLogicalTypes

boolean

Es opcional. Si sourceFormat se configura en "AVRO", indica si los tipos lógicos se deben interpretar como el tipo de datos de BigQuery correspondiente (por ejemplo, TIMESTAMP), en lugar de usar el tipo sin procesar (por ejemplo, INTEGER).

Representación JSON
{
  "enumAsString": boolean,
  "enableListInference": boolean,
  "mapTargetType": enum (MapTargetType)
}
Campos
enumAsString

boolean

Es opcional. Indica si se debe inferir el tipo lógico de Parquet ENUM como STRING en lugar de BYTES de forma predeterminada.

enableListInference

boolean

Es opcional. Indica si se debe usar la inferencia de esquema específicamente para el tipo lógico de Parquet LIST.

mapTargetType

enum (MapTargetType)

Es opcional. Indica cómo representar un mapa de Parquet si está presente.

Representación JSON
{
  "connectionId": string,
  "storageUri": string,
  "fileFormat": enum (FileFormat),
  "tableFormat": enum (TableFormat)
}
Campos
connectionId

string

Es opcional. Es la conexión que especifica las credenciales que se usarán para leer y escribir en el almacenamiento externo, como Cloud Storage. El connection_id puede tener la forma {project}.{location}.{connection_id} o "projects/{project}/locations/{location}/connections/{connection_id}".

storageUri

string

Es opcional. Es el prefijo de ubicación completamente calificado de la carpeta externa en la que se almacenan los datos de la tabla. No se permite el carácter comodín “*”. El URI debe tener el formato gs://bucket/path_to_table/.

fileFormat

enum (FileFormat)

Es opcional. Es el formato de archivo en el que se almacenan los datos de la tabla.

tableFormat

enum (TableFormat)

Es opcional. Es el formato de tabla en el que se almacenan las instantáneas de solo metadatos.

Representación JSON
{
  "estimatedBytes": string,
  "estimatedRows": string,
  "oldestEntryTime": string
}
Campos
estimatedBytes

string

Solo salida. Es una estimación del límite inferior de la cantidad de bytes que hay actualmente en el búfer de transmisión.

estimatedRows

string

Solo salida. Es una estimación del límite inferior de la cantidad de filas que hay actualmente en el búfer de transmisión.

oldestEntryTime

string (uint64 format)

Solo salida. Contiene la marca de tiempo de la entrada más antigua en el búfer de transmisión, en milisegundos desde la época, si el búfer de transmisión está disponible.

Representación JSON
{
  "kmsKeyName": string
}
Campos
kmsKeyName

string

Es opcional. Describe la clave de encriptación de Cloud KMS que se usará para proteger la tabla de BigQuery de destino. La cuenta de servicio de BigQuery asociada a tu proyecto requiere acceso a esta clave de encriptación.

Representación JSON
{
  "baseTableReference": {
    object (TableReference)
  },
  "snapshotTime": string
}
Campos
baseTableReference

object (TableReference)

Obligatorio. Es una referencia que describe el ID de la tabla de la que se tomó la instantánea.

snapshotTime

string (Timestamp format)

Obligatorio. Es la fecha y hora en la que se tomó la instantánea de la tabla base. Este valor se informa en la respuesta JSON con el formato RFC3339.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

Representación JSON
{
  "baseTableReference": {
    object (TableReference)
  },
  "cloneTime": string
}
Campos
baseTableReference

object (TableReference)

Obligatorio. Es una referencia que describe el ID de la tabla que se clonó.

cloneTime

string (Timestamp format)

Obligatorio. Es la fecha y hora en que se clonó la tabla base. Este valor se informa en la respuesta JSON con el formato RFC3339.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

Representación JSON
{
  "type": enum (RestrictionType)
}
Campos
type

enum (RestrictionType)

Solo salida. Especifica el tipo de restricción de conjunto de datos o tabla.

Representación JSON
{
  "primaryKey": {
    object (PrimaryKey)
  },
  "foreignKeys": [
    {
      object (ForeignKey)
    }
  ]
}
Campos
primaryKey

object (PrimaryKey)

Es opcional. Representa una restricción de clave primaria en las columnas de una tabla. Solo está presente si la tabla tiene una clave primaria. No se aplica la clave primaria.

foreignKeys[]

object (ForeignKey)

Es opcional. Solo está presente si la tabla tiene una clave externa. No se aplica la clave externa.

Representación JSON
{
  "columns": [
    string
  ]
}
Campos
columns[]

string

Obligatorio. Son las columnas que componen la restricción de clave primaria.

Representación JSON
{
  "name": string,
  "referencedTable": {
    object (TableReference)
  },
  "columnReferences": [
    {
      object (ColumnReference)
    }
  ]
}
Campos
name

string

Es opcional. Solo se establece si se le asignó un nombre a la restricción de clave externa.

referencedTable

object (TableReference)

Obligatorio. Es la tabla que contiene la clave primaria y a la que hace referencia esta clave externa.

columnReferences[]

object (ColumnReference)

Obligatorio. Son las columnas que componen la clave externa.

Representación JSON
{
  "referencingColumn": string,
  "referencedColumn": string
}
Campos
referencingColumn

string

Obligatorio. Columna que compone la clave externa.

referencedColumn

string

Obligatorio. Columna de la clave primaria a la que hace referencia referencing_column.

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

Representación JSON
{
  "sourceTable": {
    object (TableReference)
  },
  "replicationIntervalMs": string,
  "replicatedSourceLastRefreshTime": string,
  "replicationStatus": enum (ReplicationStatus),
  "replicationError": {
    object (ErrorProto)
  }
}
Campos
sourceTable

object (TableReference)

Obligatorio. Es la referencia de la tabla de origen que se replica.

replicationIntervalMs

string (int64 format)

Es opcional. Especifica el intervalo en el que se sondea la tabla de origen para detectar actualizaciones. Es opcional. Si no se especifica, se aplicará el intervalo de replicación predeterminado.

replicatedSourceLastRefreshTime

string (int64 format)

Es opcional. Solo salida. Si la fuente es una vista materializada, este campo indica la hora de la última actualización de la fuente.

replicationStatus

enum (ReplicationStatus)

Es opcional. Solo salida. Es el estado de replicación de la replicación configurada.

replicationError

object (ErrorProto)

Es opcional. Solo salida. Es un error de replicación que detendrá de forma permanente la replicación de la tabla.

Representación JSON
{
  "parameters": {
    string: string,
    ...
  },
  "storageDescriptor": {
    object (StorageDescriptor)
  },
  "connectionId": string
}
Campos
parameters

map (key: string, value: string)

Es opcional. Es un mapa de los pares clave-valor que definen los parámetros y las propiedades de la tabla de código abierto. Corresponde a los parámetros de la tabla del almacén de metadatos de Hive. El tamaño máximo es de 4 MiB.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

storageDescriptor

object (StorageDescriptor)

Es opcional. Es un descriptor de almacenamiento que contiene información sobre el almacenamiento físico de esta tabla.

connectionId

string

Es opcional. Es un ID de conexión que especifica las credenciales que se usarán para leer el almacenamiento externo, como Azure Blob, Cloud Storage o Amazon S3. Esta conexión es necesaria para leer la tabla de código abierto desde BigQuery. El formato de connection_id debe ser <project_id>.<location_id>.<connection_id> o projects/<project_id>/locations/<location_id>/connections/<connection_id>.

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

Representación JSON
{
  "locationUri": string,
  "inputFormat": string,
  "outputFormat": string,
  "serdeInfo": {
    object (SerDeInfo)
  }
}
Campos
locationUri

string

Es opcional. Ubicación física de la tabla (p.ej., gs://spark-dataproc-data/pangea-data/case_sensitive/ o gs://spark-dataproc-data/pangea-data/*). La longitud máxima es de 2,056 bytes.

inputFormat

string

Es opcional. Especifica el nombre de clase completamente calificado del InputFormat (p.ej., "org.apache.hadoop.hive.ql.io.orc.OrcInputFormat"). La longitud máxima es de 128 caracteres.

outputFormat

string

Es opcional. Especifica el nombre de clase completamente calificado de OutputFormat (p.ej., "org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat"). La longitud máxima es de 128 caracteres.

serdeInfo

object (SerDeInfo)

Es opcional. Información del serializador y deserializador.

Representación JSON
{
  "name": string,
  "serializationLibrary": string,
  "parameters": {
    string: string,
    ...
  }
}
Campos
name

string

Es opcional. Nombre del SerDe. La longitud máxima es de 256 caracteres.

serializationLibrary

string

Obligatorio. Especifica el nombre de clase completamente calificado de la biblioteca de serialización que es responsable de la traducción de los datos entre la representación de la tabla y las estructuras subyacentes de formato de entrada y salida de bajo nivel. La longitud máxima es de 256 caracteres.

parameters

map (key: string, value: string)

Es opcional. Son pares clave-valor que definen los parámetros de inicialización de la biblioteca de serialización. El tamaño máximo es de 10 KiB.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

Anotaciones de herramientas

Sugerencia destructiva: ❌ | Sugerencia idempotente: ✅ | Sugerencia de solo lectura: ✅ | Sugerencia de mundo abierto: ❌