MCP Tools Reference: bigquery.googleapis.com

Tool: get_table_info

Metadaten zu einer BigQuery-Tabelle abrufen

Im folgenden Beispiel wird gezeigt, wie Sie mit curl das MCP-Tool get_table_info aufrufen.

Curl-Anfrage
                  
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
}'
                

Eingabeschema

Anfrage für eine Tabelle

JSON-Darstellung
{
  "projectId": string,
  "datasetId": string,
  "tableId": string
}
Felder
projectId

string

Erforderlich. Projekt-ID der Tabellenanfrage.

datasetId

string

Erforderlich. Dataset-ID der Tabellenanfrage.

tableId

string

Erforderlich. Tabellen-ID der Tabellenanfrage.

Ausgabeschema

JSON-Darstellung
{
  "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.
}
Felder
kind

string

Der Typ der Ressourcen-ID.

etag

string

Nur Ausgabe. Ein Hash dieser Ressource.

id

string

Nur Ausgabe. Eine intransparente ID, die die Tabelle eindeutig identifiziert.

selfLink

string

Nur Ausgabe. Eine URL, über die auf diese Ressource wieder zugegriffen werden kann.

tableReference

object (TableReference)

Erforderlich. Referenz zur Beschreibung der ID dieser Tabelle.

friendlyName

string

Optional. Ein aussagekräftiger Name für diese Tabelle.

description

string

Optional. Eine nutzerfreundliche Beschreibung dieser Tabelle.

labels

map (key: string, value: string)

Die mit dieser Tabelle verknüpften Labels. Sie können damit Ihre Tabellen organisieren und gruppieren. Labelschlüssel und ‑werte dürfen maximal 63 Zeichen lang sein und nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Internationale Zeichen sind zulässig. Labelwerte sind optional. Labelschlüssel müssen mit einem Buchstaben beginnen und jedes Label in der Liste muss einen anderen Schlüssel haben.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

schema

object (TableSchema)

Optional. Beschreibt das Schema dieser Tabelle.

timePartitioning

object (TimePartitioning)

Konfiguriert, falls angegeben, die zeitbasierte Partitionierung für diese Tabelle.

rangePartitioning

object (RangePartitioning)

Konfiguriert, falls angegeben, die Bereichspartitionierung für diese Tabelle.

clustering

object (Clustering)

Clustering-Spezifikation für die Tabelle. Muss bei der zeitbasierten Partitionierung angegeben werden. Die Daten in der Tabelle werden zuerst partitioniert und dann geclustert.

requirePartitionFilter

boolean

Optional. Wenn „true“ festgelegt ist, muss für Abfragen über diese Tabelle ein Partitionsfilter angegeben werden, der für die Eliminierung von Partitionen verwendet werden kann.

numBytes

string (Int64Value format)

Nur Ausgabe. Die Größe dieser Tabelle in logischen Byte, ohne Daten im Streamingpuffer.

numPhysicalBytes

string (Int64Value format)

Nur Ausgabe. Die physische Größe dieser Tabelle in Byte. Dazu gehört auch der für die Zeitreise verwendete Speicher.

numLongTermBytes

string (Int64Value format)

Nur Ausgabe. Die Anzahl der logischen Byte in der Tabelle, die als „Langzeitspeicher“ gelten.

numRows

string (UInt64Value format)

Nur Ausgabe. Die Anzahl der Datenzeilen in dieser Tabelle, ohne Daten im Streamingpuffer.

creationTime

string (int64 format)

Nur Ausgabe. Der Zeitpunkt, zu dem diese Tabelle erstellt wurde, in Millisekunden seit der Epoche.

expirationTime

string (Int64Value format)

Optional. Die Zeit, zu der diese Tabelle abläuft, in Millisekunden seit der Epoche. Wenn nicht vorhanden, bleibt die Tabelle auf unbestimmte Zeit erhalten. Abgelaufene Tabellen werden gelöscht und der Speicherplatz wird freigegeben. Mit der Property „defaultTableExpirationMs“ des umschließenden Datasets kann eine Standardablaufzeit für neu erstellte Tabellen festgelegt werden.

lastModifiedTime

string (uint64 format)

Nur Ausgabe. Die Zeit, zu der diese Tabelle zuletzt geändert wurde, in Millisekunden seit der Epoche.

type

string

Nur Ausgabe. Beschreibt den Tabellentyp. Folgende Werte werden unterstützt:

  • TABLE: Eine normale BigQuery-Tabelle.
  • VIEW: Eine virtuelle Tabelle, die durch eine SQL-Abfrage definiert wird.
  • EXTERNAL: Eine Tabelle, die auf Daten verweist, die in einem externen Speichersystem wie Google Cloud Storage gespeichert sind.
  • MATERIALIZED_VIEW: Eine vorkonfigurierte Ansicht, die durch eine SQL-Abfrage definiert wird.
  • SNAPSHOT: Eine unveränderliche BigQuery-Tabelle, in der der Inhalt einer Basistabelle zu einem bestimmten Zeitpunkt beibehalten wird. Weitere Informationen zu Tabellen-Snapshots

Der Standardwert ist TABLE.

view

object (ViewDefinition)

Optional. Die Ansichtsdefinition.

materializedView

object (MaterializedViewDefinition)

Optional. Die Definition der materialisierten Ansicht.

materializedViewStatus

object (MaterializedViewStatus)

Nur Ausgabe. Der Status der materialisierten Ansicht.

externalDataConfiguration

object (ExternalDataConfiguration)

Optional. Beschreibt das Datenformat, den Speicherort und andere Eigenschaften einer Tabelle, die außerhalb von BigQuery gespeichert ist. Wenn Sie diese Eigenschaften definieren, kann die Datenquelle so abgefragt werden, als wäre sie eine Standard-BigQuery-Tabelle.

biglakeConfiguration

object (BigLakeConfiguration)

Optional. Gibt die Konfiguration einer BigQuery-Tabelle für Apache Iceberg an.

managedTableType

enum (ManagedTableType)

Optional. Wenn festgelegt, wird der im Dataset konfigurierte Standardtyp für verwaltete Tabellen überschrieben.

location

string

Nur Ausgabe. Der geografische Standort, an dem sich die Tabelle befindet. Dieser Wert wird vom Dataset übernommen.

streamingBuffer

object (Streamingbuffer)

Nur Ausgabe. Enthält Informationen zum Streamingpuffer dieser Tabelle, sofern vorhanden. Dieses Feld ist nicht vorhanden, wenn die Tabelle nicht gestreamt wird oder wenn keine Daten im Streamingpuffer vorhanden sind.

encryptionConfiguration

object (EncryptionConfiguration)

Benutzerdefinierte Verschlüsselungskonfiguration (z.B. Cloud KMS-Schlüssel).

snapshotDefinition

object (SnapshotDefinition)

Nur Ausgabe. Enthält Informationen zum Snapshot. Dieser Wert wird beim Erstellen des Snapshots festgelegt.

defaultCollation

string

Optional. Definiert die Standardsortierspezifikation neuer STRING-Felder in der Tabelle. Wenn beim Erstellen oder Aktualisieren einer Tabelle ein STRING-Feld ohne explizite Sortierung hinzugefügt wird, übernimmt die Tabelle die Standardsortierung der Tabelle. Eine Änderung an diesem Feld wirkt sich nur auf Felder aus, die danach hinzugefügt werden. Die vorhandenen Felder werden nicht geändert. Folgende Werte werden unterstützt:

  • 'und:ci': unbestimmtes Gebietsschema, Groß-/Kleinschreibung nicht berücksichtigend.
  • '': leerer String. Standardmäßig wird zwischen Groß- und Kleinschreibung unterschieden.
defaultRoundingMode

enum (RoundingMode)

Optional. Definiert die Standardrundungsspezifikation für neue Dezimalfelder (NUMERIC oder BIGNUMERIC) in der Tabelle. Wenn beim Erstellen oder Aktualisieren einer Tabelle ein Dezimalfeld ohne expliziten Rundungsmodus hinzugefügt wird, übernimmt das Feld den Standardrundungsmodus der Tabelle. Das Ändern dieses Felds hat keine Auswirkungen auf vorhandene Felder.

cloneDefinition

object (CloneDefinition)

Nur Ausgabe. Enthält Informationen zum Klon. Dieser Wert wird über den Klonvorgang festgelegt.

numTimeTravelPhysicalBytes

string (Int64Value format)

Nur Ausgabe. Anzahl der physischen Byte, die vom Zeitreisenspeicher verwendet wurden (gelöschte oder geänderte Daten). Diese Daten werden nicht in Echtzeit gespeichert und können um einige Sekunden bis zu einigen Minuten verzögert werden.

numTotalLogicalBytes

string (Int64Value format)

Nur Ausgabe. Gesamtzahl der logischen Byte in der Tabelle oder materialisierten Ansicht.

numActiveLogicalBytes

string (Int64Value format)

Nur Ausgabe. Anzahl der logischen Byte, die weniger als 90 Tage alt sind.

numLongTermLogicalBytes

string (Int64Value format)

Nur Ausgabe. Anzahl der logischen Byte, die älter als 90 Tage sind.

numCurrentPhysicalBytes

string (Int64Value format)

Nur Ausgabe. Anzahl der physischen Byte, die vom aktuellen Speicher für Live-Daten verwendet werden. Diese Daten werden nicht in Echtzeit gespeichert und können um einige Sekunden bis zu einigen Minuten verzögert werden.

numTotalPhysicalBytes

string (Int64Value format)

Nur Ausgabe. Die physische Größe dieser Tabelle in Byte. Dazu gehört auch der Speicher, der für die Zeitreise verwendet wird. Diese Daten werden nicht in Echtzeit gespeichert und können um einige Sekunden bis zu einigen Minuten verzögert werden.

numActivePhysicalBytes

string (Int64Value format)

Nur Ausgabe. Anzahl der physischen Byte, die weniger als 90 Tage alt sind. Diese Daten werden nicht in Echtzeit gespeichert und können um einige Sekunden bis zu einigen Minuten verzögert werden.

numLongTermPhysicalBytes

string (Int64Value format)

Nur Ausgabe. Anzahl der physischen Byte, die älter als 90 Tage sind. Diese Daten werden nicht in Echtzeit gespeichert und können um einige Sekunden bis zu einigen Minuten verzögert werden.

numPartitions

string (Int64Value format)

Nur Ausgabe. Die Anzahl der vorhandenen Partitionen in der Tabelle oder der materialisierten Ansicht. Diese Daten werden nicht in Echtzeit gespeichert und können um einige Sekunden bis zu einigen Minuten verzögert werden.

maxStaleness

string

Optional. Die maximale Veralterung von Daten, die zurückgegeben werden können, wenn die Tabelle (oder die veraltete materialisierte Ansicht) abgefragt wird. Die Aktualität wird als Stringcodierung des SQL-Typs „IntervalValue“ codiert.

restrictions

object (RestrictionConfig)

Optional. Nur Ausgabe. Einschränkungskonfiguration für die Tabelle. Wenn festgelegt, werden bestimmte Zugriffe auf die Tabelle basierend auf der Konfiguration eingeschränkt. Weitere Informationen finden Sie unter Ausgehender Datenverkehr.

tableConstraints

object (TableConstraints)

Optional. Informationen zu Primär- und Fremdschlüsseln von Tabellen

resourceTags

map (key: string, value: string)

Optional. Die Tags, die an diese Tabelle angehängt sind. Tag-Schlüssel sind global eindeutig. Der Tag-Schlüssel muss das Namespace-Format haben, z. B. „123456789012/environment“, wobei 123456789012 die ID der übergeordneten Organisations- oder Projektressource für diesen Tag-Schlüssel ist. Der Tag-Wert muss der Kurzname sein, z. B. „Production“. Weitere Informationen finden Sie unter Tag-Definitionen.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

tableReplicationInfo

object (TableReplicationInfo)

Optional. Informationen zur Tabellenreplizierung für die Tabelle, die mit der DDL AS REPLICA erstellt wurde, z. B. CREATE MATERIALIZED VIEW mv1 AS REPLICA OF src_mv

replicas[]

object (TableReference)

Optional. Nur Ausgabe. Tabellenreferenzen aller Replikate, die derzeit für die Tabelle aktiv sind.

externalCatalogTableOptions

object (ExternalCatalogTableOptions)

Optional. Optionen zum Definieren einer Open-Source-kompatiblen Tabelle.

Union-Feld _partition_definition.

Für _partition_definition ist nur einer der folgenden Werte zulässig:

partitionDefinition

object (PartitioningDefinition)

Optional. Die Partitionsinformationen für alle Tabellenformate, einschließlich verwalteter partitionierter Tabellen, Hive-partitionierter Tabellen, Iceberg-partitionierter Tabellen und Metastore-partitionierter Tabellen. Dieses Feld wird nur für Metastore-partitionierte Tabellen ausgefüllt. Bei anderen Tabellenformaten dient dieses Feld nur der Ausgabe.

JSON-Darstellung
{
  "projectId": string,
  "datasetId": string,
  "tableId": string,
  "projectIdAlternative": [
    string
  ],
  "datasetIdAlternative": [
    string
  ],
  "tableIdAlternative": [
    string
  ]
}
Felder
projectId

string

Erforderlich. Die ID des Projekts, das diese Tabelle enthält.

datasetId

string

Erforderlich. Die ID des Datasets, das diese Tabelle enthält.

tableId

string

Erforderlich. Die ID der Tabelle. Die ID kann Unicode-Zeichen in Kategorie L (Buchstabe), M (Zeichen), N (Zahl), Pc (Verbindungselement, einschließlich Unterstrich), Pd (Strich) und Zs (Leerzeichen) enthalten. Weitere Informationen finden Sie unter Allgemeine Kategorie. Die maximale Länge beträgt 1.024 Zeichen. Bei bestimmten Vorgängen kann die Tabellen-ID mit einem Partition-Decorator versehen werden, z. B. sample_table$20190123.

projectIdAlternative[]

string

Dieses Feld sollte nicht verwendet werden.

datasetIdAlternative[]

string

Dieses Feld sollte nicht verwendet werden.

tableIdAlternative[]

string

Dieses Feld sollte nicht verwendet werden.

JSON-Darstellung
{
  "value": string
}
Felder
value

string

Stringwert.

JSON-Darstellung
{
  "key": string,
  "value": string
}
Felder
key

string

value

string

JSON-Darstellung
{
  "fields": [
    {
      object (TableFieldSchema)
    }
  ],
  "foreignTypeInfo": {
    object (ForeignTypeInfo)
  }
}
Felder
fields[]

object (TableFieldSchema)

Beschreibt die Felder in einer Tabelle.

foreignTypeInfo

object (ForeignTypeInfo)

Optional. Gibt Metadaten der Definition des externen Datentyps im Feldschema (TableFieldSchema.foreign_type_definition) an.

JSON-Darstellung
{
  "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
}
Felder
name

string

Erforderlich. Der Feldname. Der Name darf nur Buchstaben (a–z, A–Z), Ziffern (0–9) und Unterstriche (_) enthalten und muss mit einem Buchstaben oder einem Unterstrich beginnen. Die maximale Länge beträgt 300 Zeichen.

type

string

Erforderlich. Der Datentyp des Felds. Mögliche Werte:

  • STRING
  • BYTES
  • INTEGER (oder INT64)
  • FLOAT (oder FLOAT64)
  • BOOLEAN (oder BOOL)
  • TIMESTAMP
  • DATE
  • UHRZEIT
  • DATETIME
  • GEOGRAPHY
  • NUMERIC
  • BIGNUMERIC
  • JSON
  • RECORD (oder STRUCT)
  • RANGE

Die Verwendung von RECORD/STRUCT gibt an, dass das Feld ein verschachteltes Schema enthält.

mode

string

Optional. Der Feldmodus. Mögliche Werte sind NULLABLE, REQUIRED und REPEATED. Der Standardwert ist NULLABLE.

fields[]

object (TableFieldSchema)

Optional. Beschreibt die verschachtelten Schemafelder, wenn das Attribut „type“ auf „RECORD“ gesetzt ist.

description

string

Optional. Die Feldbeschreibung. Die maximale Länge beträgt 1.024 Zeichen.

policyTags

object (PolicyTagList)

Optional. Die Richtlinien-Tags, die an dieses Feld angehängt sind und für die Zugriffssteuerung auf Feldebene verwendet werden. Wenn nichts anderes festgelegt ist, wird standardmäßig „empty policy_tags“ verwendet.

dataPolicies[]

object (DataPolicyOption)

Optional. Datenrichtlinien, die diesem Feld zugeordnet sind und für die Zugriffssteuerung auf Feldebene verwendet werden.

nameAlternative[]

string

Dieses Feld sollte nicht verwendet werden.

maxLength

string (int64 format)

Optional. Maximale Länge der Werte dieses Felds für STRINGS oder BYTES.

Wenn „max_length“ nicht angegeben ist, wird für dieses Feld keine maximale Länge festgelegt.

Wenn type = „STRING“, dann steht max_length für die maximale UTF-8-Länge von Strings in diesem Feld.

Wenn type = „BYTES“, dann stellt max_length die maximale Anzahl von Byte in diesem Feld dar.

Dieses Feld darf nicht festgelegt werden, wenn type ≠ „STRING“ und ≠ „BYTES“.

precision

string (int64 format)

Optional. Einschränkungen für die Genauigkeit (maximale Anzahl der Ziffern insgesamt in Basis 10) und die Skalierung (maximale Anzahl der Ziffern im Bruchteil in Basis 10) für Werte dieses Felds für NUMERIC oder BIGNUMERIC.

Es ist ungültig, Genauigkeit oder Skalierung festzulegen, wenn type ≠ „NUMERIC“ und ≠ „BIGNUMERIC“.

Wenn keine Genauigkeit und Skalierung angegeben sind, wird für dieses Feld keine Einschränkung des Wertebereichs festgelegt, sofern Werte vom Typ zulässig sind.

Werte dieses NUMERIC- oder BIGNUMERIC-Felds müssen in diesem Bereich liegen, wenn:

  • Genauigkeit (P) und Skalierung (S) sind angegeben: [-10P-S + 10-S, 10P-S – 10-S]
  • Die Genauigkeit (P) wird angegeben, nicht aber die Skalierung (die daher als null interpretiert wird): [-10P + 1, 10P – 1].

Zulässige Werte für Genauigkeit und Skalierung, wenn beide angegeben sind:

  • Wenn type = „NUMERIC“: 1 ≤ precision – scale ≤ 29 und 0 ≤ scale ≤ 9.
  • Wenn type = „BIGNUMERIC“: 1 ≤ precision – scale ≤ 38 und 0 ≤ scale ≤ 38.

Zulässige Werte für die Genauigkeit, wenn nur die Genauigkeit, nicht aber die Skalierung angegeben wird (und die Skalierung daher als null interpretiert wird):

  • Wenn type = „NUMERIC“: 1 ≤ precision ≤ 29.
  • Wenn type = „BIGNUMERIC“: 1 ≤ precision ≤ 38.

Wenn die Skalierung, aber nicht die Genauigkeit angegeben wird, ist das ungültig.

scale

string (int64 format)

Optional. Weitere Informationen zur Genauigkeit finden Sie in der Dokumentation.

timestampPrecision

string (Int64Value format)

Optional. Genauigkeit (maximale Anzahl der Gesamtziffern in Basis 10) für Sekunden des TIMESTAMP-Typs.

Mögliche Werte sind: * 6 (Standard für den TIMESTAMP-Typ mit Mikrosekundengenauigkeit) * 12 (für den TIMESTAMP-Typ mit Pikosekundengenauigkeit)

roundingMode

enum (RoundingMode)

Optional. Gibt den Rundungsmodus an, der beim Speichern von Werten des Typs NUMERIC und BIGNUMERIC verwendet werden soll.

collation

string

Optional. Die Sortierung von Feldern kann nur festgelegt werden, wenn der Feldtyp STRING ist. Folgende Werte werden unterstützt:

  • 'und:ci': unbestimmtes Gebietsschema, Groß-/Kleinschreibung nicht berücksichtigend.
  • '': leerer String. Standardmäßig wird zwischen Groß- und Kleinschreibung unterschieden.
defaultValueExpression

string

Optional. Ein SQL-Ausdruck, mit dem der Standardwert für dieses Feld angegeben wird.

rangeElementType

object (FieldElementType)

Optional. Der Untertyp des Bereichs, wenn der Typ dieses Felds „RANGE“ ist. Wenn der Typ RANGE ist, ist dieses Feld erforderlich. Für den Feld-Elementtyp sind folgende Werte möglich:

  • DATE
  • DATETIME
  • TIMESTAMP
foreignTypeDefinition

string

Optional. Definition des fremden Datentyps. Gilt nur für Schemafelder der obersten Ebene (nicht für verschachtelte Felder). Wenn der Typ FOREIGN (ausländisch) ist, ist dieses Feld erforderlich.

JSON-Darstellung
{
  "names": [
    string
  ]
}
Felder
names[]

string

Eine Liste mit Ressourcennamen von Richtlinien-Tags. Beispiel: „projects/1/locations/eu/taxonomies/2/policyTags/3“. Derzeit ist maximal ein Richtlinien-Tag zulässig.

JSON-Darstellung
{

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

Union-Feld _name.

Für _name ist nur einer der folgenden Werte zulässig:

name

string

Ressourcenname der Datenrichtlinie im Format „projects/project_id/locations/location_id/dataPolicies/data_policy_id“.

JSON-Darstellung
{
  "value": string
}
Felder
value

string (int64 format)

Der int64-Wert.

JSON-Darstellung
{
  "type": string
}
Felder
type

string

Erforderlich. Der Typ eines Feldelements. Weitere Informationen finden Sie unter TableFieldSchema.type.

JSON-Darstellung
{
  "typeSystem": enum (TypeSystem)
}
Felder
typeSystem

enum (TypeSystem)

Erforderlich. Gibt das System an, das den externen Datentyp definiert.

JSON-Darstellung
{
  "type": string,
  "expirationMs": string,
  "field": string,
  "requirePartitionFilter": boolean
}
Felder
type

string

Erforderlich. Die unterstützten Typen sind DAY, HOUR, MONTH und YEAR. Damit wird jeweils eine Partition pro Tag, Stunde, Monat und Jahr generiert.

expirationMs

string (Int64Value format)

Optional. Anzahl der Millisekunden, für die der Speicher für eine Partition beibehalten werden soll. Hier wird ein Wrapper verwendet, da 0 ein ungültiger Wert ist.

field

string

Optional. Wenn nichts anderes festgelegt ist, wird die Tabelle nach der Pseudospalte „_PARTITIONTIME“ partitioniert. Andernfalls wird die Tabelle nach diesem Feld partitioniert. Das Feld muss ein TIMESTAMP- oder DATE-Feld der obersten Ebene sein. Der Modus muss NULLABLE oder REQUIRED sein. Hier wird ein Wrapper verwendet, da ein leerer String ein ungültiger Wert ist.

requirePartitionFilter
(deprecated)

boolean

Wenn „true“ festgelegt ist, muss für Abfragen über diese Tabelle ein Partitionsfilter angegeben werden, der für die Eliminierung von Partitionen verwendet werden kann. Dieses Feld ist veraltet. Legen Sie stattdessen das Feld mit demselben Namen in der Tabelle selbst fest. Für dieses Feld ist ein Wrapper erforderlich, da wir den Standardwert „false“ ausgeben möchten, wenn der Nutzer ihn explizit festgelegt hat.

JSON-Darstellung
{
  "value": boolean
}
Felder
value

boolean

Der boolesche Wert.

JSON-Darstellung
{
  "field": string,
  "range": {
    object (Range)
  }
}
Felder
field

string

Erforderlich. Der Name der Spalte, nach der die Tabelle partitioniert werden soll. Es muss eine INT64-Spalte der obersten Ebene sein, deren Modus NULLABLE oder REQUIRED ist.

range

object (Range)

Definiert die Bereiche für die Bereichspartitionierung.

JSON-Darstellung
{
  "start": string,
  "end": string,
  "interval": string
}
Felder
start

string

Erforderlich. Der Beginn der Bereichspartitionierung (einschließlich). Dieses Feld ist ein INT64-Wert, der als String dargestellt wird.

end

string

Erforderlich. Das Ende der Bereichspartitionierung (ausschließlich). Dieses Feld ist ein INT64-Wert, der als String dargestellt wird.

interval

string

Erforderlich. Die Breite jedes Intervalls. Dieses Feld ist ein INT64-Wert, der als String dargestellt wird.

JSON-Darstellung
{
  "fields": [
    string
  ]
}
Felder
fields[]

string

Ein oder mehrere Felder, nach denen Daten gruppiert werden sollen. Es werden nur Felder der obersten Ebene unterstützt, die nicht wiederholt werden und einen einfachen Typ haben. Die Reihenfolge der Clustering-Felder sollte nach Wichtigkeit für Filterzwecke priorisiert werden.

Weitere Informationen finden Sie unter Einführung in geclusterte Tabellen.

JSON-Darstellung
{
  "partitionedColumn": [
    {
      object (PartitionedColumn)
    }
  ]
}
Felder
partitionedColumn[]

object (PartitionedColumn)

Optional. Details zu jeder Partitionierungsspalte. Dieses Feld wird nur für alle Partitionierungstypen außer für Metastore-partitionierte Tabellen ausgegeben. BigQuery-Tabellen unterstützen nur eine Partitionierungsspalte. Andere Tabellentypen unterstützen möglicherweise 0, 1 oder mehrere Partitionierungsspalten. Bei partitionierten Metastore-Tabellen muss die Reihenfolge mit der Definitionsreihenfolge im Hive Metastore übereinstimmen, wo sie dem physischen Layout der Tabelle entsprechen muss. Beispiel:

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

In diesem Fall müssen die Werte in der Reihenfolge ['city', 'state'] angegeben werden.

JSON-Darstellung
{

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

Union-Feld _field.

Für _field ist nur einer der folgenden Werte zulässig:

field

string

Erforderlich. Der Name der Partitionsspalte.

JSON-Darstellung
{
  "value": string
}
Felder
value

string

Der uint64-Wert.

JSON-Darstellung
{
  "query": string,
  "userDefinedFunctionResources": [
    {
      object (UserDefinedFunctionResource)
    }
  ],
  "useLegacySql": boolean,
  "useExplicitColumnNames": boolean,
  "privacyPolicy": {
    object (PrivacyPolicy)
  },
  "foreignDefinitions": [
    {
      object (ForeignViewDefinition)
    }
  ]
}
Felder
query

string

Erforderlich. Eine Abfrage, die von BigQuery ausgeführt wird, wenn auf die Ansicht verwiesen wird.

userDefinedFunctionResources[]

object (UserDefinedFunctionResource)

Beschreibt benutzerdefinierte Funktionsressourcen, die in der Abfrage verwendet werden.

useLegacySql

boolean

Gibt an, ob für diese Ansicht Legacy-SQL von BigQuery verwendet werden soll. Der Standardwert ist true. Wenn der Wert auf „false“ gesetzt ist, wird in der Ansicht GoogleSQL von BigQuery verwendet: https://cloud.google.com/bigquery/sql-reference/.

Für Abfragen und Ansichten, die auf diese Ansicht verweisen, muss derselbe Flag-Wert verwendet werden. Hier wird ein Wrapper verwendet, da der Standardwert „True“ ist.

useExplicitColumnNames

boolean

„True“, wenn die Spaltennamen explizit angegeben werden. Verwenden Sie dazu beispielsweise die Syntax „CREATE VIEW v(c1, c2) AS …“. Kann nur für GoogleSQL-Ansichten festgelegt werden.

privacyPolicy

object (PrivacyPolicy)

Optional. Gibt die Datenschutzrichtlinie für die Ansicht an.

foreignDefinitions[]

object (ForeignViewDefinition)

Optional. Darstellungen von Ansichten aus dem Ausland.

JSON-Darstellung
{
  "resourceUri": string,
  "inlineCode": string,
  "inlineCodeAlternative": [
    string
  ]
}
Felder
resourceUri

string

[Pick one] Eine Code-Ressource, die über einen Google Cloud Storage-URI (gs://bucket/path) geladen werden soll.

inlineCode

string

[Pick one] Eine Inline-Ressource, die den Code für eine benutzerdefinierte Funktion (User-defined Function, UDF) enthält. Die Angabe einer Inline-Code-Ressource entspricht der Angabe eines URI für eine Datei, die denselben Code enthält.

inlineCodeAlternative[]

string

JSON-Darstellung
{

  // 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.
}
Felder
Union-Feld privacy_policy. Datenschutzerklärung, die mit dieser Anforderungsspezifikation verknüpft ist. Pro Datenquellenobjekt ist nur eine der Datenschutzmethoden zulässig. Für privacy_policy ist nur einer der folgenden Werte zulässig:
aggregationThresholdPolicy

object (AggregationThresholdPolicy)

Optional. Richtlinie für Aggregationsschwellenwerte.

differentialPrivacyPolicy

object (DifferentialPrivacyPolicy)

Optional. Richtlinie für Differential Privacy.

Union-Feld _join_restriction_policy.

Für _join_restriction_policy ist nur einer der folgenden Werte zulässig:

joinRestrictionPolicy

object (JoinRestrictionPolicy)

Optional. Die Richtlinie zur Einschränkung von Mitgliedschaften fällt nicht unter die anderen Richtlinien, da sie zusammen mit anderen Richtlinien festgelegt werden kann. Mit dieser Richtlinie können Datenanbieter Joins für die „join_allowed_columns“ erzwingen, wenn Daten aus einer datenschutzgeschützten Ansicht abgefragt werden.

JSON-Darstellung
{
  "privacyUnitColumns": [
    string
  ],

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

string

Optional. Die Spalten für Datenschutzeinheiten, die mit dieser Richtlinie verknüpft sind. Derzeit ist nur eine Spalte pro Datenquellenobjekt (Tabelle, Ansicht) als Spalte für die Datenschutzeinheit zulässig. Wird als wiederkehrendes Feld in Metadaten dargestellt, um in Zukunft mehrere Spalten zu unterstützen. Doppelte und wiederholte Strukturfelder sind nicht zulässig. Verwenden Sie für verschachtelte Felder die Punktnotation („outer.inner“).

Union-Feld _threshold.

Für _threshold ist nur einer der folgenden Werte zulässig:

threshold

string (int64 format)

Optional. Der Grenzwert für die Richtlinie „Aggregationsschwellenwert“.

JSON-Darstellung
{

  // 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.
}
Felder

Union-Feld _max_epsilon_per_query.

Für _max_epsilon_per_query ist nur einer der folgenden Werte zulässig:

maxEpsilonPerQuery

number

Optional. Der maximale Epsilon-Wert, der von einer Abfrage verwendet werden kann. Wenn der Abonnent Epsilon als Parameter in einer SELECT-Abfrage angibt, muss es kleiner oder gleich diesem Wert sein. Der Epsilon-Parameter steuert die Menge an Rauschen, die den Gruppen hinzugefügt wird. Ein höherer Epsilon-Wert bedeutet weniger Rauschen.

Union-Feld _delta_per_query.

Für _delta_per_query ist nur einer der folgenden Werte zulässig:

deltaPerQuery

number

Optional. Der Deltawert, der pro Abfrage verwendet wird. Delta stellt die Wahrscheinlichkeit dar, dass eine Zeile nicht epsilon-differenziell privat ist. Gibt das Risiko an, das mit der Offenlegung aggregierter Zeilen im Ergebnis einer Abfrage verbunden ist.

Union-Feld _max_groups_contributed.

Für _max_groups_contributed ist nur einer der folgenden Werte zulässig:

maxGroupsContributed

string (int64 format)

Optional. Der maximale Wert für Gruppenbeiträge, der pro Anfrage verwendet wird. Gibt die maximale Anzahl von Gruppen an, zu denen jede geschützte Einheit beitragen kann. Das Ändern dieses Werts hat keine Auswirkungen auf den Datenschutz. Der beste Wert für Genauigkeit und Nützlichkeit hängt von der Abfrage und den Daten ab.

Union-Feld _privacy_unit_column.

Für _privacy_unit_column ist nur einer der folgenden Werte zulässig:

privacyUnitColumn

string

Optional. Die mit dieser Richtlinie verknüpfte Spalte für Datenschutzeinheiten. Differenziell private Richtlinien können nur eine Spalte für die Datenschutzeinheit pro Datenquellenobjekt (Tabelle, Ansicht) haben.

Union-Feld _epsilon_budget.

Für _epsilon_budget ist nur einer der folgenden Werte zulässig:

epsilonBudget

number

Optional. Das gesamte Epsilon-Budget für alle Abfragen der datenschutzgeschützten Ansicht. Für jede Abfrage eines Abonnenten für diese Ansicht wird der Betrag an Epsilon berechnet, den er in seiner Abfrage anfordert. Wenn genügend Budget vorhanden ist, wird versucht, die Abfrage des Abonnenten abzuschließen. Die Zahlung kann jedoch aus anderen Gründen weiterhin fehlschlagen. In diesem Fall wird die Zahlung erstattet. Wenn das Budget nicht ausreicht, wird die Anfrage abgelehnt. Wenn in einer einzelnen Abfrage auf mehrere Ansichten verwiesen wird, kann es zu mehreren Belastungsversuchen kommen. In diesem Fall muss ausreichend Budget für alle Gebühren vorhanden sein. Andernfalls wird die Anfrage abgelehnt und die Gebühren werden nach Möglichkeit erstattet. Für das Budget ist keine Aktualisierungsrichtlinie festgelegt. Es kann nur über ALTER VIEW aktualisiert werden. Alternativ können Sie eine neue Ansicht erstellen, die mit einem neuen Budget abgefragt werden kann.

Union-Feld _delta_budget.

Für _delta_budget ist nur einer der folgenden Werte zulässig:

deltaBudget

number

Optional. Das gesamte Delta-Budget für alle Abfragen der datenschutzkonformen Ansicht. Für jede Abfrage eines Abonnenten für diese Ansicht wird der Betrag des Deltas berechnet, der vom Mitwirkenden über das Feld „delta_per_query“ der Datenschutzrichtlinie vordefiniert wurde. Wenn genügend Budget vorhanden ist, wird versucht, die Abfrage des Abonnenten abzuschließen. Die Zahlung kann jedoch aus anderen Gründen weiterhin fehlschlagen. In diesem Fall wird die Zahlung erstattet. Wenn das Budget nicht ausreicht, wird die Anfrage abgelehnt. Wenn in einer einzelnen Abfrage auf mehrere Ansichten verwiesen wird, kann es zu mehreren Belastungsversuchen kommen. In diesem Fall muss ausreichend Budget für alle Gebühren vorhanden sein. Andernfalls wird die Anfrage abgelehnt und die Gebühren werden nach Möglichkeit erstattet. Für das Budget ist keine Aktualisierungsrichtlinie festgelegt. Es kann nur über ALTER VIEW aktualisiert werden. Alternativ können Sie eine neue Ansicht erstellen, die mit einem neuen Budget abgefragt werden kann.

Union-Feld _epsilon_budget_remaining.

Für _epsilon_budget_remaining ist nur einer der folgenden Werte zulässig:

epsilonBudgetRemaining

number

Nur Ausgabe. Das verbleibende Epsilon-Budget. Wenn das Budget aufgebraucht ist, sind keine weiteren Anfragen zulässig. Das Budget für laufende Abfragen wird vor der Ausführung der Abfrage abgezogen. Wenn die Abfrage fehlschlägt oder abgebrochen wird, wird das Budget erstattet. In diesem Fall kann der Betrag des verbleibenden Budgets steigen.

Union-Feld _delta_budget_remaining.

Für _delta_budget_remaining ist nur einer der folgenden Werte zulässig:

deltaBudgetRemaining

number

Nur Ausgabe. Das verbleibende Delta-Budget. Wenn das Budget aufgebraucht ist, sind keine weiteren Anfragen zulässig. Das Budget für laufende Abfragen wird vor der Ausführung der Abfrage abgezogen. Wenn die Abfrage fehlschlägt oder abgebrochen wird, wird das Budget erstattet. In diesem Fall kann der Betrag des verbleibenden Budgets steigen.

JSON-Darstellung
{
  "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.
}
Felder
joinAllowedColumns[]

string

Optional. Die einzigen Spalten, für die Joins zulässig sind. Dieses Feld muss für join_conditions JOIN_ANY und JOIN_ALL angegeben werden und kann nicht für JOIN_BLOCKED festgelegt werden.

Union-Feld _join_condition.

Für _join_condition ist nur einer der folgenden Werte zulässig:

joinCondition

enum (JoinCondition)

Optional. Gibt an, ob für Abfragen für die Ansicht ein Join erforderlich ist. Der Standardwert ist JOIN_CONDITION_UNSPECIFIED.

JSON-Darstellung
{
  "query": string,
  "dialect": string
}
Felder
query

string

Erforderlich. Die Abfrage, die die Ansicht definiert.

dialect

string

Optional. Stellt den Dialekt der Abfrage dar.

JSON-Darstellung
{
  "query": string,
  "lastRefreshTime": string,
  "enableRefresh": boolean,
  "refreshIntervalMs": string,
  "allowNonIncrementalDefinition": boolean
}
Felder
query

string

Erforderlich. Eine Abfrage, deren Ergebnisse gespeichert werden.

lastRefreshTime

string (int64 format)

Nur Ausgabe. Der Zeitpunkt der letzten Aktualisierung dieser materialisierten Ansicht in Millisekunden seit der Epoche.

enableRefresh

boolean

Optional. Aktivieren Sie die automatische Aktualisierung der materialisierten Ansicht, wenn die Basistabelle aktualisiert wird. Der Standardwert ist „true“.

refreshIntervalMs

string (UInt64Value format)

Optional. Die maximale Häufigkeit, mit der diese materialisierte Ansicht aktualisiert wird. Der Standardwert ist „1800000“ (30 Minuten).

allowNonIncrementalDefinition

boolean

Optional. Mit dieser Option wird die Absicht erklärt, eine materialisierte Ansicht zu erstellen, die nicht inkrementell aktualisiert wird. Nicht inkrementelle materialisierte Ansichten unterstützen eine erweiterte Auswahl an SQL-Abfragen. Die Option allow_non_incremental_definition kann nach dem Erstellen der materialisierten Ansicht nicht mehr geändert werden.

JSON-Darstellung
{
  "refreshWatermark": string,
  "lastRefreshStatus": {
    object (ErrorProto)
  }
}
Felder
refreshWatermark

string (Timestamp format)

Nur Ausgabe. Aktualisierungswasserzeichen der materialisierten Ansicht. Bis zu diesem Zeitpunkt wurden die Daten der Basistabellen im Cache der materialisierten Ansicht erfasst.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

lastRefreshStatus

object (ErrorProto)

Nur Ausgabe. Fehlerergebnis der letzten automatischen Aktualisierung. Falls vorhanden, weist dies darauf hin, dass die letzte automatische Aktualisierung nicht erfolgreich war.

JSON-Darstellung
{
  "seconds": string,
  "nanos": integer
}
Felder
seconds

string (int64 format)

Stellt Sekunden der UTC-Zeit seit Unix-Epoche 1970-01-01T00:00:00Z dar. Muss einschließlich zwischen -62135596800 und 253402300799 liegen (entspricht 0001-01-01T00:00:00Z bis 9999-12-31T23:59:59Z).

nanos

integer

Nicht negative Sekundenbruchteile Nanosekunden-Auflösung. Dieses Feld enthält den Nanosekundenanteil der Dauer und ist keine Alternative zu Sekunden. Negative Sekundenwerte mit Bruchteilen müssen weiterhin nicht negative Nano-Werte haben, die zeitlich vorwärts gezählt werden. Muss zwischen 0 und 999.999.999 liegen.

JSON-Darstellung
{
  "reason": string,
  "location": string,
  "debugInfo": string,
  "message": string
}
Felder
reason

string

Ein kurzer Fehlercode, der den Fehler zusammenfasst.

location

string

Gibt an, wo der Fehler aufgetreten ist, sofern vorhanden.

debugInfo

string

Informationen zur Fehlerbehebung. Diese Property ist intern bei Google und sollte nicht verwendet werden.

message

string

Eine für Menschen lesbare Beschreibung des Fehlers.

JSON-Darstellung
{
  "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.
}
Felder
sourceUris[]

string

[Erforderlich] Die vollständig qualifizierten URIs, die auf Ihre Daten in Google Cloud verweisen. Für Google Cloud Storage-URIs: Jeder URI kann ein Platzhalterzeichen (*) enthalten, das nach dem Bucket-Namen stehen muss. Für externe Datenquellen gelten Größenbeschränkungen für Ladejobs. Für Google Cloud Bigtable-URIs: Es kann genau ein URI angegeben werden. Dieser muss eine vollständige und gültige HTTPS-URL für eine Google Cloud Bigtable-Tabelle sein. Für Google Cloud Datastore-Sicherungen kann genau ein URI angegeben werden. Außerdem ist das Platzhalterzeichen „*“ nicht zulässig.

fileSetSpecType

enum (FileSetSpecType)

Optional. Gibt an, wie Quell-URIs interpretiert werden, um die zu ladende Dateigruppe zu erstellen. Standardmäßig werden Quell-URIs anhand des zugrunde liegenden Speichers erweitert. Sie können auch Manifestdateien angeben. Gilt nur für Objektspeichersysteme.

schema

object (TableSchema)

Optional. Das Schema für die Daten. Ein Schema ist für CSV- und JSON-Formate erforderlich, wenn die automatische Erkennung nicht aktiviert ist. Das Schema ist für Google Cloud Bigtable, Cloud Datastore-Sicherungen sowie die Formate Avro, ORC und Parquet nicht zulässig.

sourceFormat

string

[Erforderlich] Das Datenformat. Geben Sie für CSV-Dateien „CSV“ an. Geben Sie für Google Sheets „GOOGLE_SHEETS“ an. Geben Sie für durch Zeilenumbruch getrenntes JSON „NEWLINE_DELIMITED_JSON“ an. Geben Sie für Avro-Dateien „AVRO“ an. Geben Sie für Google Cloud Datastore-Sicherungen „DATASTORE_BACKUP“ an. Geben Sie für Apache Iceberg-Tabellen „ICEBERG“ an. Geben Sie für ORC-Dateien „ORC“ an. Geben Sie für Parquet-Dateien „PARQUET“ an. [Beta] Geben Sie für Google Cloud Bigtable „BIGTABLE“ an.

maxBadRecords

integer

Optional. Die maximale Anzahl fehlerhafter Datensätze, die BigQuery beim Lesen von Daten ignorieren darf. Wenn die Anzahl fehlerhafter Datensätze diesen Wert überschreitet, wird im Jobergebnis ein Fehler wegen ungültiger Werte zurückgegeben. Der Standardwert ist 0, d. h. alle Datensätze müssen gültig sein. Diese Einstellung wird für Google Cloud Bigtable, Google Cloud Datastore-Sicherungen sowie für die Formate Avro, ORC und Parquet ignoriert.

autodetect

boolean

Schema- und Formatierungsoptionen automatisch erkennen Alle explizit angegebenen Optionen werden berücksichtigt.

ignoreUnknownValues

boolean

Optional. Gibt an, ob BigQuery zusätzliche Werte zulassen soll, die nicht im Tabellenschema enthalten sind. Wird diese Option auf "true" gesetzt, werden die zusätzlichen Werte ignoriert. Bei „false“ werden Datensätze mit zusätzlichen Spalten wie fehlerhafte Datensätze behandelt. Wenn zu viele fehlerhafte Datensätze vorliegen, wird im Jobergebnis ein Fehler wegen ungültiger Werte zurückgegeben. Der Standardwert ist „false“. Das Attribut „sourceFormat“ legt fest, was BigQuery als zusätzlichen Wert behandelt: CSV: nachgestellte Spalten; JSON: benannte Werte, die keinem Spaltennamen entsprechen; Google Cloud Bigtable: Diese Einstellung wird ignoriert. Google Cloud Datastore-Sicherungen: Diese Einstellung wird ignoriert. Avro: Diese Einstellung wird ignoriert. ORC: Diese Einstellung wird ignoriert. Parquet: Diese Einstellung wird ignoriert.

compression

string

Optional. Komprimierungstyp der Datenquelle. Mögliche Werte sind GZIP und NONE. Der Standardwert ist NONE. Diese Einstellung wird für Google Cloud Bigtable, Google Cloud Datastore-Sicherungen sowie für die Formate Avro, ORC und Parquet ignoriert. Ein leerer String ist ein ungültiger Wert.

csvOptions

object (CsvOptions)

Optional. Zusätzliche Attribute, die festgelegt werden müssen, wenn „sourceFormat“ auf „CSV“ gesetzt ist.

jsonOptions

object (JsonOptions)

Optional. Zusätzliche Attribute, die festgelegt werden müssen, wenn „sourceFormat“ auf „JSON“ gesetzt ist.

bigtableOptions

object (BigtableOptions)

Optional. Zusätzliche Optionen, wenn „sourceFormat“ auf „BIGTABLE“ festgelegt ist.

googleSheetsOptions

object (GoogleSheetsOptions)

Optional. Zusätzliche Optionen, wenn „sourceFormat“ auf „GOOGLE_SHEETS“ festgelegt ist.

maxBadRecordsAlternative[]

integer

Dieses Feld sollte nicht verwendet werden.

hivePartitioningOptions

object (HivePartitioningOptions)

Optional. Wenn festgelegt, wird die Unterstützung für die Hive-Partitionierung konfiguriert. Nicht alle Speicherformate unterstützen die Hive-Partitionierung. Wenn Sie die Hive-Partitionierung für ein nicht unterstütztes Format anfordern oder eine ungültige Spezifikation angeben, wird ein Fehler ausgegeben.

connectionId

string

Optional. Die Verbindung, in der die Anmeldedaten für das Lesen von externem Speicher wie Azure Blob, Cloud Storage oder S3 angegeben werden. Die connection_id kann das Format {project_id}.{location_id};{connection_id} oder projects/{project_id}/locations/{location_id}/connections/{connection_id} haben.

decimalTargetTypes[]

enum (DecimalTargetType)

Definiert die Liste der möglichen SQL-Datentypen, in die die Dezimalwerte der Quelle konvertiert werden. Diese Liste sowie die Parameter für Genauigkeit und Skalierung des Dezimalfelds bestimmen den Zieltyp. In der Reihenfolge NUMERIC, BIGNUMERIC und STRING wird ein Typ ausgewählt, wenn er in der angegebenen Liste enthalten ist und die Genauigkeit und Skalierung unterstützt. STRING unterstützt alle Genauigkeits- und Skalierungswerte. Wenn keiner der aufgelisteten Typen die Genauigkeit und die Skalierung unterstützt, wird der Typ ausgewählt, der den breitesten Bereich in der angegebenen Liste unterstützt. Wenn ein Wert beim Lesen der Daten den unterstützten Bereich überschreitet, wird ein Fehler ausgegeben.

Beispiel: Der Wert dieses Felds ist ["NUMERIC", "BIGNUMERIC"]. Wenn (precision,scale) Folgendes ist:

  • (38,9) -> NUMERIC;
  • (39,9) –> BIGNUMERIC (NUMERIC kann keine 30 Ganzzahldigits enthalten);
  • (38,10) –> BIGNUMERIC (NUMERIC kann keine 10 Dezimalstellen enthalten)
  • (76,38) -> BIGNUMERIC;
  • (77,38) –> BIGNUMERIC (Fehler, wenn der Wert den unterstützten Bereich überschreitet).

Dieses Feld darf keine doppelten Typen enthalten. Die Reihenfolge der Typen in diesem Feld wird ignoriert. Beispiel: ["BIGNUMERIC", "NUMERIC"] ist dasselbe wie ["NUMERIC", "BIGNUMERIC"]. NUMERIC hat immer Vorrang vor BIGNUMERIC.

Standardmäßig auf [„NUMERIC“, „STRING“] für ORC und [„NUMERIC“] für die anderen Dateiformate festgelegt.

avroOptions

object (AvroOptions)

Optional. Zusätzliche Attribute, die festgelegt werden müssen, wenn „sourceFormat“ auf „AVRO“ gesetzt ist.

jsonExtension

enum (JsonExtension)

Optional. Ladeoption, die zusammen mit dem Quellformat „JSON mit Zeilenumbrüchen als Trennzeichen“ verwendet wird, um anzugeben, dass eine Variante von JSON geladen wird. Wenn Sie durch Zeilenumbruch getrennte GeoJSON-Daten laden möchten, geben Sie GEOJSON an. Das Attribut „source_format“ muss auf NEWLINE_DELIMITED_JSON festgelegt sein.

parquetOptions

object (ParquetOptions)

Optional. Zusätzliche Attribute, die festgelegt werden müssen, wenn „sourceFormat“ auf „PARQUET“ gesetzt ist.

referenceFileSchemaUri

string

Optional. Beim Erstellen einer externen Tabelle kann der Nutzer eine Referenzdatei mit dem Tabellenschema angeben. Dies ist für die folgenden Formate aktiviert: AVRO, PARQUET, ORC.

metadataCacheMode

enum (MetadataCacheMode)

Optional. Metadaten-Cache-Modus für die Tabelle. Legen Sie diesen Wert fest, um das Caching von Metadaten aus der externen Datenquelle zu aktivieren.

timestampTargetPrecision[]

integer

Die Genauigkeit (maximale Anzahl der Gesamtziffern in der Basis 10) für Sekunden von TIMESTAMP-Typen, die für den automatischen Erkennungsmodus in der Zieltabelle zulässig sind.

Verfügbar für die Formate: CSV.

Für das CSV-Format sind folgende Werte möglich: „Not Specified“ (Nicht angegeben), „[]“ oder „[6]“: timestamp(6) für alle automatisch erkannten TIMESTAMP-Spalten [6, 12]: timestamp(6) für alle automatisch erkannten TIMESTAMP-Spalten mit weniger als 6 Ziffern für die Mikrosekunden. timestamp(12) für alle automatisch erkannten TIMESTAMP-Spalten mit mehr als 6 Ziffern für die Mikrosekunden. [12]: timestamp(12) für alle automatisch erkannten TIMESTAMP-Spalten.

Die Reihenfolge der Elemente in diesem Array wird ignoriert. Eingaben, die eine höhere Genauigkeit als die höchste Zielgenauigkeit in diesem Array haben, werden abgeschnitten.

Union-Feld _object_metadata.

Für _object_metadata ist nur einer der folgenden Werte zulässig:

objectMetadata

enum (ObjectMetadata)

Optional. ObjectMetadata wird zum Erstellen von Objekttabellen verwendet. Objekttabellen enthalten eine Liste von Objekten (mit ihren Metadaten), die unter den source_uris gefunden wurden. Wenn „ObjectMetadata“ festgelegt ist, sollte „source_format“ weggelassen werden.

Derzeit ist SIMPLE der einzige unterstützte Typ für Objektmetadaten.

Union-Feld _time_zone.

Für _time_zone ist nur einer der folgenden Werte zulässig:

timeZone

string

Optional. Zeitzone, die beim Parsen von Zeitstempelwerten ohne bestimmte Zeitzoneninformationen verwendet wird (z.B. 2024-04-20 12:34:56). Das erwartete Format ist ein IANA-Zeitzonenstring (z.B. „America/Los_Angeles“).

Union-Feld _date_format.

Für _date_format ist nur einer der folgenden Werte zulässig:

dateFormat

string

Optional. Das zum Parsen von DATE-Werten verwendete Format. Unterstützt Werte im C- und SQL-Stil.

Union-Feld _datetime_format.

Für _datetime_format ist nur einer der folgenden Werte zulässig:

datetimeFormat

string

Optional. Das zum Parsen von DATETIME-Werten verwendete Format. Unterstützt Werte im C- und SQL-Stil.

Union-Feld _time_format.

Für _time_format ist nur einer der folgenden Werte zulässig:

timeFormat

string

Optional. Das zum Parsen von TIME-Werten verwendete Format. Unterstützt Werte im C- und SQL-Stil.

Union-Feld _timestamp_format.

Für _timestamp_format ist nur einer der folgenden Werte zulässig:

timestampFormat

string

Optional. Das zum Parsen von TIMESTAMP-Werten verwendete Format. Unterstützt Werte im C- und SQL-Stil.

JSON-Darstellung
{
  "value": integer
}
Felder
value

integer

Der int32-Wert.

JSON-Darstellung
{
  "fieldDelimiter": string,
  "skipLeadingRows": string,
  "quote": string,
  "allowQuotedNewlines": boolean,
  "allowJaggedRows": boolean,
  "encoding": string,
  "preserveAsciiControlCharacters": boolean,
  "nullMarker": string,
  "nullMarkers": [
    string
  ],
  "sourceColumnMatch": string
}
Felder
fieldDelimiter

string

Optional. Das Trennzeichen für Felder in einer CSV-Datei. Das Trennzeichen wird als einzelnes Byte interpretiert. Bei Dateien, die in ISO-8859-1 codiert sind, kann jedes einzelne Zeichen als Trennzeichen verwendet werden. Bei Dateien, die in UTF-8 codiert sind, können Zeichen im Dezimalbereich 1–127 (U+0001–U+007F) ohne Änderung verwendet werden. Bei UTF-8-Zeichen, die mit mehreren Byte codiert sind (d.h. U+0080 und höher), wird nur das erste Byte zum Trennen von Feldern verwendet. Die verbleibenden Bytes werden als Teil des Felds behandelt. BigQuery unterstützt auch die Escapesequenz „\t“ (U+0009) zur Eingabe eines Tabulatortrennzeichens. Der Standardwert ist das Komma („,“; U+002C).

skipLeadingRows

string (Int64Value format)

Optional. Die Anzahl der Zeilen am Anfang einer CSV-Datei, die BigQuery beim Lesen der Daten überspringen soll. Der Standardwert ist 0. Diese Eigenschaft ist nützlich, wenn die Datei Headerzeilen enthält, die übersprungen werden sollen. Wenn die automatische Erkennung aktiviert ist, verhält es sich so:

  • „skipLeadingRows“ nicht angegeben: Bei der automatischen Erkennung wird versucht, Header in der ersten Zeile zu erkennen. Wenn sie nicht erkannt werden, wird die Zeile als Daten gelesen. Andernfalls werden Daten ab der zweiten Zeile gelesen.
  • skipLeadingRows ist 0: Die automatische Erkennung wird angewiesen, dass keine Header vorhanden sind und Daten ab der ersten Zeile gelesen werden sollen.
  • skipLeadingRows = N > 0: Bei der automatischen Erkennung werden N-1 Zeilen übersprungen und es wird versucht, Kopfzeilen in Zeile N zu erkennen. Wenn keine Header erkannt werden, wird Zeile N einfach übersprungen. Andernfalls wird Zeile N verwendet, um Spaltennamen für das erkannte Schema zu extrahieren.
quote

string

Optional. Der Wert, der zum Kennzeichnen von Datenabschnitten in einer CSV-Datei verwendet wird. BigQuery konvertiert den String in ISO-8859-1-Codierung und verwendet das erste Byte des codierten Strings, um die Daten in ihrer binären Rohform aufzuteilen. Der Standardwert ist ein Anführungszeichen ("). Legen Sie den Attributwert als leeren String fest, wenn die Daten keine in Anführungszeichen gesetzten Abschnitte enthalten. Wenn Ihre Daten Zeilenumbruchzeichen in Anführungszeichen enthalten, müssen Sie auch das Attribut „allowQuotedNewlines“ auf „true“ setzen. Wenn Sie das spezifische Anführungszeichen einem in Anführungszeichen gesetzten Wert hinzufügen möchten, stellen Sie ihm ein zusätzliches entsprechendes Anführungszeichen voran. Wenn Sie z. B. das Standardzeichen ' " ' maskieren möchten, verwenden Sie ' "" '.

allowQuotedNewlines

boolean

Optional. Gibt an, ob BigQuery in Anführungszeichen eingeschlossene Datenabschnitte mit Zeilenumbruchzeichen in einer CSV-Datei zulassen soll. Der Standardwert ist „false“.

allowJaggedRows

boolean

Optional. Gibt an, ob BigQuery Zeilen ohne nachgestellte optionale Spalten akzeptieren soll. Wenn „true“, behandelt BigQuery fehlende nachgestellte Spalten als Nullwerte. Ist diese Option auf „false“ gesetzt, werden Datensätze mit fehlenden nachgestellten Spalten wie fehlerhafte Datensätze behandelt. Wenn zu viele fehlerhafte Datensätze vorhanden sind, wird im Jobergebnis ein Fehler wegen ungültiger Werte zurückgegeben. Der Standardwert ist „false“.

encoding

string

Optional. Die Zeichencodierung der Daten. Die unterstützten Werte sind UTF-8, ISO-8859-1, UTF-16BE, UTF-16LE, UTF-32BE und UTF-32LE. Der Standardwert ist UTF-8. BigQuery decodiert die Daten, nachdem die binären Rohdaten nach den Werten der Attribute „quote“ und „fieldDelimiter“ aufgeteilt wurden.

preserveAsciiControlCharacters

boolean

Optional. Gibt an, ob die eingebetteten ASCII-Steuerzeichen (die ersten 32 Zeichen in der ASCII-Tabelle, von „\x00“ bis „\x1F“) beibehalten werden.

nullMarker

string

Optional. Gibt einen String an, der einen Nullwert in einer CSV-Datei darstellt. Wenn Sie beispielsweise "\N" angeben, interpretiert BigQuery beim Abfragen einer CSV-Datei "\N" als Nullwert. Der Standardwert ist ein leerer String. Wenn Sie dieses Attribut auf einen benutzerdefinierten Wert setzen, gibt BigQuery einen Fehler aus, falls ein leerer String vorhanden ist. Dies gilt für alle Datentypen, mit Ausnahme von STRING und BYTE. Bei STRING- und BYTE-Spalten interpretiert BigQuery den leeren String als leeren Wert.

nullMarkers[]

string

Optional. Eine Liste von Strings, die in einer CSV-Datei als SQL-NULL-Wert dargestellt werden.

„null_marker“ und „null_markers“ können nicht gleichzeitig festgelegt werden. Wenn „null_marker“ festgelegt ist, darf „null_markers“ nicht festgelegt sein. Wenn „null_markers“ festgelegt ist, darf „null_marker“ nicht festgelegt sein. Wenn sowohl „null_marker“ als auch „null_markers“ gleichzeitig festgelegt sind, wird ein Nutzerfehler ausgegeben. Alle in „null_markers“ aufgeführten Strings, einschließlich des leeren Strings, werden als SQL NULL interpretiert. Dies gilt für alle Spaltentypen.

sourceColumnMatch

string

Optional. Steuert die Strategie, die zum Abgleichen der geladenen Spalten mit dem Schema verwendet wird. Wenn nicht festgelegt, wird ein sinnvoller Standardwert basierend darauf ausgewählt, wie das Schema bereitgestellt wird. Wenn die automatische Erkennung verwendet wird, werden Spalten anhand des Namens zugeordnet. Andernfalls werden Spalten nach Position abgeglichen. Dies geschieht, um die Abwärtskompatibilität zu gewährleisten. Zulässige Werte: POSITION – es wird nach Position abgeglichen. Dabei wird davon ausgegangen, dass die Spalten in derselben Reihenfolge wie im Schema angeordnet sind. NAME: Abgleich nach Name. Dabei wird die Kopfzeile als Spaltennamen gelesen und die Spalten werden so neu angeordnet, dass sie mit den Feldnamen im Schema übereinstimmen.

JSON-Darstellung
{
  "encoding": string
}
Felder
encoding

string

Optional. Die Zeichencodierung der Daten. Die unterstützten Werte sind UTF-8, UTF-16BE, UTF-16LE, UTF-32BE und UTF-32LE. Der Standardwert ist UTF-8.

JSON-Darstellung
{
  "columnFamilies": [
    {
      object (BigtableColumnFamily)
    }
  ],
  "ignoreUnspecifiedColumnFamilies": boolean,
  "readRowkeyAsString": boolean,
  "outputColumnFamiliesAsJson": boolean
}
Felder
columnFamilies[]

object (BigtableColumnFamily)

Optional. Liste der Spaltenfamilien, die im Tabellenschema zusammen mit ihren Typen verfügbar gemacht werden sollen. Durch diese Liste werden die in Abfragen referenzierbaren Spaltenfamilien eingeschränkt und ihre Werttypen angegeben. Sie können diese Liste verwenden, um Typkonvertierungen vorzunehmen. Weitere Informationen finden Sie im Feld „type“. Wenn Sie diese Liste leer lassen, sind alle Spaltenfamilien im Tabellenschema vorhanden und ihre Werte werden als BYTES gelesen. Während einer Abfrage werden nur die in dieser Abfrage referenzierten Spaltenfamilien aus Bigtable gelesen.

ignoreUnspecifiedColumnFamilies

boolean

Optional. Wenn „field“ auf „true“ gesetzt ist, werden die Spaltenfamilien, die nicht in der Liste „columnFamilies“ angegeben sind, nicht im Tabellenschema verfügbar gemacht. Andernfalls werden sie mit Werten des Typs „BYTE“ gelesen. Der Standardwert ist „false“.

readRowkeyAsString

boolean

Optional. Wenn das Feld „true“ ist, werden die „rowkey“-Spaltenfamilien gelesen und in Strings umgewandelt. Andernfalls werden sie mit Werten des Typs „BYTE“ gelesen und Nutzer müssen sie bei Bedarf manuell mit CAST umwandeln. Der Standardwert ist „false“.

outputColumnFamiliesAsJson

boolean

Optional. Wenn das Feld „true“ ist, wird jede Spaltenfamilie als einzelne JSON-Spalte gelesen. Andernfalls werden sie als wiederholte Zellenstruktur mit Zeitstempel-/Wert-Tupeln gelesen. Der Standardwert ist „false“.

JSON-Darstellung
{
  "familyId": string,
  "type": string,
  "encoding": string,
  "columns": [
    {
      object (BigtableColumn)
    }
  ],
  "onlyReadLatest": boolean,
  "protoConfig": {
    object (BigtableProtoConfig)
  }
}
Felder
familyId

string

Kennung der Spaltenfamilie.

type

string

Optional. Der Typ, in den der Wert in den Zellen dieser Spaltenfamilie konvertiert werden soll. Die Werte müssen mit der Funktion HBase Bytes.toBytes codiert werden, wenn der Codierungswert BINARY verwendet wird. Die folgenden BigQuery-Typen sind zulässig (Groß-/Kleinschreibung wird beachtet):

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

Der Standardtyp ist BYTES. Dies kann für eine bestimmte Spalte überschrieben werden, indem Sie diese Spalte in „columns“ auflisten und einen Typ dafür angeben.

encoding

string

Optional. Die Codierung der Werte, wenn der Typ nicht STRING ist. Zulässige Codierungswerte: TEXT – Gibt an, dass die Werte alphanumerische Textstrings sind. BINARY: Gibt an, dass die Werte mit der Funktionsfamilie HBase Bytes.toBytes codiert werden. PROTO_BINARY: Gibt an, dass Werte mit serialisierten Proto-Nachrichten codiert werden. Kann nur in Kombination mit dem JSON-Typ verwendet werden. Dies kann für eine bestimmte Spalte überschrieben werden, indem Sie diese Spalte in „columns“ auflisten und eine Codierung dafür angeben.

columns[]

object (BigtableColumn)

Optional. Listen von Spalten, die als einzelne Felder und nicht als Liste von (Spaltenname, Wert)-Paaren verfügbar gemacht werden sollen. Auf alle Spalten, deren Qualifizierer mit einem Qualifizierer in dieser Liste übereinstimmt, kann als <family field name>.<column field name> zugegriffen werden. Auf andere Spalten kann als Liste über das Feld <family field name>.Column zugegriffen werden.

onlyReadLatest

boolean

Optional. Wenn diese Option festgelegt ist, wird nur die aktuelle Version des Werts für alle Spalten in dieser Spaltenfamilie bereitgestellt. Dies kann für eine bestimmte Spalte überschrieben werden, indem Sie diese Spalte in „columns“ auflisten und eine andere Einstellung dafür angeben.

protoConfig

object (BigtableProtoConfig)

Optional. Protobuf-spezifische Konfigurationen, die nur wirksam werden, wenn die Codierung PROTO_BINARY ist.

JSON-Darstellung
{
  "qualifierEncoded": string,
  "qualifierString": string,
  "fieldName": string,
  "type": string,
  "encoding": string,
  "onlyReadLatest": boolean,
  "protoConfig": {
    object (BigtableProtoConfig)
  }
}
Felder
qualifierEncoded

string (BytesValue format)

[Erforderlich] Qualifier der Spalte. Spalten in der übergeordneten Spaltenfamilie mit diesem genauen Qualifizierer werden als <family field name>.<column field name>-Feld verfügbar gemacht. Wenn der Qualifier ein gültiger UTF-8-String ist, kann er im Feld „qualifier_string“ angegeben werden. Andernfalls muss ein base64-codierter Wert für „qualifier_encoded“ festgelegt werden. Der Feldname der Spalte ist derselbe wie der Spaltenqualifizierer. Wenn der Qualifizierer jedoch keine gültige BigQuery-Feld-ID ist, d.h. nicht mit [a-zA-Z][a-zA-Z0-9_]* übereinstimmt, muss ein gültiger Bezeichner als „field_name“ angegeben werden.

qualifierString

string

Qualifier-String.

fieldName

string

Optional. Wenn der Qualifizierer keine gültige BigQuery-Feld-ID ist, d. h. nicht mit [a-zA-Z][a-zA-Z0-9_]* übereinstimmt, muss ein gültiger Bezeichner als Spaltenfeldname angegeben werden. Dieser wird als Feldname in Abfragen verwendet.

type

string

Optional. Der Typ, in den der Wert in den Zellen dieser Spalte konvertiert werden soll. Die Werte müssen mit der Funktion HBase Bytes.toBytes codiert werden, wenn der Codierungswert BINARY verwendet wird. Die folgenden BigQuery-Typen sind zulässig (Groß-/Kleinschreibung wird beachtet):

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

Der Standardtyp ist BYTES. „type“ kann auch auf Spaltenfamilienebene festgelegt werden. Die Einstellung auf dieser Ebene hat jedoch Vorrang, wenn „type“ auf beiden Ebenen festgelegt ist.

encoding

string

Optional. Die Codierung der Werte, wenn der Typ nicht STRING ist. Zulässige Codierungswerte: TEXT – Gibt an, dass die Werte alphanumerische Textstrings sind. BINARY: Gibt an, dass die Werte mit der Funktionsfamilie HBase Bytes.toBytes codiert werden. PROTO_BINARY: Gibt an, dass Werte mit serialisierten Proto-Nachrichten codiert werden. Kann nur in Kombination mit dem JSON-Typ verwendet werden. „encoding“ kann auch auf der Ebene der Spaltenfamilie festgelegt werden. Die Einstellung auf dieser Ebene hat jedoch Vorrang, wenn „encoding“ auf beiden Ebenen festgelegt ist.

onlyReadLatest

boolean

Optional. Wenn diese Option festgelegt ist, wird nur die aktuelle Version des Werts in dieser Spalte angezeigt. „onlyReadLatest“ kann auch auf Spaltenfamilienebene festgelegt werden. Die Einstellung auf dieser Ebene hat jedoch Vorrang, wenn „onlyReadLatest“ auf beiden Ebenen festgelegt ist.

protoConfig

object (BigtableProtoConfig)

Optional. Protobuf-spezifische Konfigurationen, die nur wirksam werden, wenn die Codierung PROTO_BINARY ist.

JSON-Darstellung
{
  "value": string
}
Felder
value

string (bytes format)

Der Wert für „Bytes“.

Ein base64-codierter String.

JSON-Darstellung
{
  "schemaBundleId": string,
  "protoMessageName": string
}
Felder
schemaBundleId

string

Optional. Die ID der Bigtable SchemaBundle-Ressource, die mit diesem Protobuf verknüpft ist. Die ID sollte in der übergeordneten Tabelle referenziert werden, z.B. foo statt projects/{project}/instances/{instance}/tables/{table}/schemaBundles/foo. Weitere Informationen zu Bigtable-SchemaBundles

protoMessageName

string

Optional. Der vollständig qualifizierte Proto-Nachrichtenname des Protobuf. Im Format „foo.bar.Message“.

JSON-Darstellung
{
  "skipLeadingRows": string,
  "range": string
}
Felder
skipLeadingRows

string (Int64Value format)

Optional. Die Anzahl der Zeilen am Anfang eines Tabellenblatts, die BigQuery beim Lesen der Daten überspringen soll. Der Standardwert ist 0. Diese Eigenschaft ist nützlich, wenn Sie Kopfzeilen haben, die übersprungen werden sollen. Wenn die automatische Erkennung aktiviert ist, gilt Folgendes: * skipLeadingRows nicht angegeben: Bei der automatischen Erkennung wird versucht, Header in der ersten Zeile zu erkennen. Wenn sie nicht erkannt werden, wird die Zeile als Daten gelesen. Andernfalls werden Daten ab der zweiten Zeile gelesen. * skipLeadingRows ist 0: Die automatische Erkennung wird angewiesen, dass keine Header vorhanden sind und Daten ab der ersten Zeile gelesen werden sollen. * skipLeadingRows = N > 0: Bei der automatischen Erkennung werden N-1 Zeilen übersprungen und es wird versucht, Kopfzeilen in Zeile N zu erkennen. Wenn keine Header erkannt werden, wird Zeile N einfach übersprungen. Andernfalls wird Zeile N verwendet, um Spaltennamen für das erkannte Schema zu extrahieren.

range

string

Optional. Bereich eines Tabellenblatts, aus dem abgefragt werden soll. Wird nur verwendet, wenn der Wert nicht leer ist. Typisches Format: sheet_name!top_left_cell_id:bottom_right_cell_id, z. B. sheet1!A1:B20

JSON-Darstellung
{
  "mode": string,
  "sourceUriPrefix": string,
  "requirePartitionFilter": boolean,
  "fields": [
    string
  ]
}
Felder
mode

string

Optional. Gibt an, welcher Modus der Hive-Partitionierung beim Lesen von Daten verwendet werden soll. Die folgenden Modi werden unterstützt:

  • AUTO: Namen und Typen von Partitionierungsschlüsseln automatisch ableiten.

  • STRINGS: Namen von Partitionierungsschlüsseln automatisch ableiten. Alle Typen sind Strings.

  • CUSTOM: Das Schema des Partitionierungsschlüssels wird im Präfix des Quell-URI codiert.

Nicht alle Speicherformate unterstützen die Hive-Partitionierung. Wenn Sie eine Hive-Partitionierung für ein nicht unterstütztes Format anfordern, führt das zu einem Fehler. Derzeit werden die Formate JSON, CSV, ORC, Avro und Parquet unterstützt.

sourceUriPrefix

string

Optional. Wenn die Erkennung von Hive-Partitionen angefordert wird, ist ein gemeinsames Präfix für alle Quell-URIs erforderlich. Das Präfix muss unmittelbar vor Beginn der Codierung des Partitionierungsschlüssels enden. Nehmen wir als Beispiel Dateien mit dem folgenden Datenlayout:

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

Wenn die Hive-Partitionierung mit der AUTO- oder STRINGS-Erkennung angefordert wird, kann das gemeinsame Präfix entweder gs://bucket/path_to_table oder gs://bucket/path_to_table/ sein.

Für die Erkennung vom Typ CUSTOM muss das Partitionierungsschema unmittelbar nach dem gemeinsamen Präfix codiert werden. Für CUSTOM gilt:

  • 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}

wären allesamt gültige Quell-URI-Präfixe.

requirePartitionFilter

boolean

Optional. Wenn „true“ festgelegt ist, muss für Abfragen über diese Tabelle ein Partitionsfilter angegeben werden, der für die Eliminierung von Partitionen verwendet werden kann.

Dieses Feld sollte nur „true“ sein, wenn Sie eine permanente externe Tabelle erstellen oder eine temporäre externe Tabelle abfragen.

Das Laden von Hive-partitionierten Daten schlägt fehl, wenn „require_partition_filter“ explizit auf „true“ gesetzt ist.

fields[]

string

Nur Ausgabe. Bei permanenten externen Tabellen wird dieses Feld mit den Hive-Partitionierungsschlüsseln in der Reihenfolge gefüllt, in der sie abgeleitet wurden. Die Typen der Partitionierungsschlüssel können durch Überprüfen des Tabellenschemas abgeleitet werden, das die Partitionierungsschlüssel enthält. Nicht jede API füllt dieses Feld in der Ausgabe aus. Beispielsweise wird es durch Tables.Get ausgefüllt, aber Tables.List enthält dieses Feld nicht.

JSON-Darstellung
{
  "useAvroLogicalTypes": boolean
}
Felder
useAvroLogicalTypes

boolean

Optional. Wenn „sourceFormat“ auf „AVRO“ festgelegt ist, wird angegeben, ob logische Typen als entsprechende BigQuery-Datentypen (z. B. TIMESTAMP) interpretiert werden sollen, anstatt den Rohtyp (z. B. INTEGER) zu verwenden.

JSON-Darstellung
{
  "enumAsString": boolean,
  "enableListInference": boolean,
  "mapTargetType": enum (MapTargetType)
}
Felder
enumAsString

boolean

Optional. Gibt an, ob der logische Parquet-ENUM-Typ standardmäßig als STRING und nicht als BYTES abgeleitet werden soll.

enableListInference

boolean

Optional. Gibt an, ob die Schemainferenz speziell für den logischen Parquet-LIST-Typ verwendet werden soll.

mapTargetType

enum (MapTargetType)

Optional. Gibt an, wie eine Parquet-Map dargestellt wird, falls vorhanden.

JSON-Darstellung
{
  "connectionId": string,
  "storageUri": string,
  "fileFormat": enum (FileFormat),
  "tableFormat": enum (TableFormat)
}
Felder
connectionId

string

Optional. Die Verbindung, in der die Anmeldedaten für das Lesen und Schreiben in externen Speicher wie Cloud Storage angegeben werden. Die connection_id kann das Format {project}.{location}.{connection_id} oder „projects/{project}/locations/{location}/connections/{connection_id}“ haben.

storageUri

string

Optional. Das voll qualifizierte Speicherortpräfix des externen Ordners, in dem Tabellendaten gespeichert werden. Das Platzhalterzeichen „*“ ist nicht zulässig. Der URI sollte das Format gs://bucket/path_to_table/ haben.

fileFormat

enum (FileFormat)

Optional. Das Dateiformat, in dem die Tabellendaten gespeichert werden.

tableFormat

enum (TableFormat)

Optional. Das Tabellenformat, in dem die Metadaten-Snapshots gespeichert werden.

JSON-Darstellung
{
  "estimatedBytes": string,
  "estimatedRows": string,
  "oldestEntryTime": string
}
Felder
estimatedBytes

string

Nur Ausgabe. Eine Untergrenzenschätzung der Anzahl der Byte, die sich derzeit im Streamingpuffer befinden.

estimatedRows

string

Nur Ausgabe. Eine Schätzung der Untergrenze für die Anzahl der Zeilen, die sich derzeit im Streamingpuffer befinden.

oldestEntryTime

string (uint64 format)

Nur Ausgabe. Enthält den Zeitstempel des ältesten Eintrags im Streamingpuffer in Millisekunden seit der Epoche, sofern der Streamingpuffer verfügbar ist.

JSON-Darstellung
{
  "kmsKeyName": string
}
Felder
kmsKeyName

string

Optional. Beschreibt den Cloud KMS-Verschlüsselungsschlüssel, der zum Schutz der BigQuery-Zieltabelle verwendet wird. Das mit Ihrem Projekt verknüpfte BigQuery-Dienstkonto benötigt Zugriff auf diesen Verschlüsselungsschlüssel.

JSON-Darstellung
{
  "baseTableReference": {
    object (TableReference)
  },
  "snapshotTime": string
}
Felder
baseTableReference

object (TableReference)

Erforderlich. Referenz, die die ID der Tabelle beschreibt, von der der Snapshot erstellt wurde.

snapshotTime

string (Timestamp format)

Erforderlich. Der Zeitpunkt, zu dem der Snapshot der Basistabelle erstellt wurde. Dieser Wert wird in der JSON-Antwort im RFC3339-Format angegeben.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

JSON-Darstellung
{
  "baseTableReference": {
    object (TableReference)
  },
  "cloneTime": string
}
Felder
baseTableReference

object (TableReference)

Erforderlich. Referenz, die die ID der geklonten Tabelle beschreibt.

cloneTime

string (Timestamp format)

Erforderlich. Die Zeit, zu der die Basistabelle geklont wurde. Dieser Wert wird in der JSON-Antwort im RFC3339-Format angegeben.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

JSON-Darstellung
{
  "type": enum (RestrictionType)
}
Felder
type

enum (RestrictionType)

Nur Ausgabe. Gibt den Typ der Einschränkung für Datasets/Tabellen an.

JSON-Darstellung
{
  "primaryKey": {
    object (PrimaryKey)
  },
  "foreignKeys": [
    {
      object (ForeignKey)
    }
  ]
}
Felder
primaryKey

object (PrimaryKey)

Optional. Stellt eine Primärschlüsseleinschränkung für die Spalten einer Tabelle dar. Nur vorhanden, wenn die Tabelle einen Primärschlüssel hat. Der Primärschlüssel wird nicht erzwungen.

foreignKeys[]

object (ForeignKey)

Optional. Wird nur angezeigt, wenn die Tabelle einen Fremdschlüssel hat. Der Fremdschlüssel wird nicht erzwungen.

JSON-Darstellung
{
  "columns": [
    string
  ]
}
Felder
columns[]

string

Erforderlich. Die Spalten, aus denen die Primärschlüsseleinschränkung besteht.

JSON-Darstellung
{
  "name": string,
  "referencedTable": {
    object (TableReference)
  },
  "columnReferences": [
    {
      object (ColumnReference)
    }
  ]
}
Felder
name

string

Optional. Wird nur festgelegt, wenn die Fremdschlüsseleinschränkung benannt ist.

referencedTable

object (TableReference)

Erforderlich. Die Tabelle, die den Primärschlüssel enthält und auf die von diesem Fremdschlüssel verwiesen wird.

columnReferences[]

object (ColumnReference)

Erforderlich. Die Spalten, aus denen der Fremdschlüssel besteht.

JSON-Darstellung
{
  "referencingColumn": string,
  "referencedColumn": string
}
Felder
referencingColumn

string

Erforderlich. Die Spalte, aus der der Fremdschlüssel besteht.

referencedColumn

string

Erforderlich. Die Spalte im Primärschlüssel, auf die von der referencing_column verwiesen wird.

JSON-Darstellung
{
  "key": string,
  "value": string
}
Felder
key

string

value

string

JSON-Darstellung
{
  "sourceTable": {
    object (TableReference)
  },
  "replicationIntervalMs": string,
  "replicatedSourceLastRefreshTime": string,
  "replicationStatus": enum (ReplicationStatus),
  "replicationError": {
    object (ErrorProto)
  }
}
Felder
sourceTable

object (TableReference)

Erforderlich. Verweis auf die Quelltabelle, die repliziert wird.

replicationIntervalMs

string (int64 format)

Optional. Gibt das Intervall an, in dem die Quelltabelle auf Aktualisierungen geprüft wird. Das ist optional. Wenn nichts angegeben ist, wird das Standardreplikationsintervall angewendet.

replicatedSourceLastRefreshTime

string (int64 format)

Optional. Nur Ausgabe. Wenn die Quelle eine materialisierte Ansicht ist, gibt dieses Feld den Zeitpunkt der letzten Aktualisierung der Quelle an.

replicationStatus

enum (ReplicationStatus)

Optional. Nur Ausgabe. Replikationsstatus der konfigurierten Replikation.

replicationError

object (ErrorProto)

Optional. Nur Ausgabe. Replikationsfehler, der die Tabellenreplikation dauerhaft beendet.

JSON-Darstellung
{
  "parameters": {
    string: string,
    ...
  },
  "storageDescriptor": {
    object (StorageDescriptor)
  },
  "connectionId": string
}
Felder
parameters

map (key: string, value: string)

Optional. Eine Zuordnung der Schlüssel/Wert-Paare, die die Parameter und Eigenschaften der Open-Source-Tabelle definieren. Entspricht den Hive-Metastore-Tabellenparametern. Maximale Größe: 4 MiB.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

storageDescriptor

object (StorageDescriptor)

Optional. Ein Speicherdeskriptor mit Informationen zum physischen Speicher dieser Tabelle.

connectionId

string

Optional. Eine Verbindungs-ID, die die Anmeldedaten angibt, die zum Lesen von externem Speicher wie Azure Blob, Cloud Storage oder Amazon S3 verwendet werden sollen. Diese Verbindung ist erforderlich, um die Open-Source-Tabelle aus BigQuery zu lesen. Das Format von „connection_id“ muss entweder <project_id>.<location_id>.<connection_id> oder projects/<project_id>/locations/<location_id>/connections/<connection_id> sein.

JSON-Darstellung
{
  "key": string,
  "value": string
}
Felder
key

string

value

string

JSON-Darstellung
{
  "locationUri": string,
  "inputFormat": string,
  "outputFormat": string,
  "serdeInfo": {
    object (SerDeInfo)
  }
}
Felder
locationUri

string

Optional. Der physische Speicherort der Tabelle, z. B. gs://spark-dataproc-data/pangea-data/case_sensitive/ oder gs://spark-dataproc-data/pangea-data/*. Die maximale Länge beträgt 2.056 Bytes.

inputFormat

string

Optional. Gibt den vollständig qualifizierten Klassennamen des InputFormat an, z.B. „org.apache.hadoop.hive.ql.io.orc.OrcInputFormat“. Die maximale Länge beträgt 128 Zeichen.

outputFormat

string

Optional. Gibt den vollständig qualifizierten Klassennamen des OutputFormat an, z.B. „org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat“. Die maximale Länge beträgt 128 Zeichen.

serdeInfo

object (SerDeInfo)

Optional. Informationen zu Serializer und Deserializer.

JSON-Darstellung
{
  "name": string,
  "serializationLibrary": string,
  "parameters": {
    string: string,
    ...
  }
}
Felder
name

string

Optional. Name der SerDe. Die maximale Länge beträgt 256 Zeichen.

serializationLibrary

string

Erforderlich. Gibt einen vollständig qualifizierten Klassennamen der Serialisierungsbibliothek an, die für die Übersetzung von Daten zwischen der Tabellendarstellung und den zugrunde liegenden Low-Level-Eingabe- und ‑Ausgabeformatstrukturen verantwortlich ist. Die maximale Länge beträgt 256 Zeichen.

parameters

map (key: string, value: string)

Optional. Schlüssel/Wert-Paare, die die Initialisierungsparameter für die Serialisierungsbibliothek definieren. Maximale Größe: 10 KiB.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

JSON-Darstellung
{
  "key": string,
  "value": string
}
Felder
key

string

value

string

Tool-Annotationen

Destruktiver Hinweis: ❌ | Idempotenter Hinweis: ✅ | Nur-Lese-Hinweis: ✅ | Open-World-Hinweis: ❌