
Google Cloud CreateTable
CertifiedCreate a BigQuery table
Google Cloud CreateTable
Create a BigQuery table
Creates a table from the provided definition, labels, encryption, and expiration settings. Fails if the table already exists.
type: io.kestra.plugin.gcp.bigquery.CreateTableExamples
id: gcp_bq_create_table
namespace: company.team
tasks:
- id: create_table
type: io.kestra.plugin.gcp.bigquery.CreateTable
projectId: my-project
dataset: my-dataset
table: my-table
tableDefinition:
type: TABLE
schema:
fields:
- name: id
type: INT64
- name: name
type: STRING
standardTableDefinition:
clustering:
- id
- name
friendlyName: new_table
Properties
dataset *Requiredstring
Dataset ID
Target dataset name
table *Requiredstring
Table ID
Target table name
description string
Table description
encryptionConfiguration Non-dynamic
Encryption configuration
Optional CMEK for the table
io.kestra.plugin.gcp.bigquery.models.EncryptionConfiguration
The KMS key name.
expirationDuration string
Expiration duration
Duration from now until table expiration; if unset, table persists
friendlyName string
Table display name
impersonatedServiceAccount string
The GCP service account to impersonate
labels object
Table labels
location string
Dataset location
Optional BigQuery location for created or targeted resources. Experimental and may change; see BigQuery dataset location documentation.
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
projectId string
The GCP project ID
requirePartitionFilter booleanstring
Require partition filter
If true, queries must include a partition filter for partitioned tables
retryAuto Non-dynamic
Automatic BigQuery retry policy
Optional custom retry policy for retryable BigQuery errors. If unset, uses an exponential backoff starting at 5s (per-attempt interval capped at 60m), with a total duration of up to 15m and a maximum of 10 attempts.
Constant retry
Retry with a fixed delay between attempts.
durationRETRY_FAILED_TASKRETRY_FAILED_TASKCREATE_NEW_EXECUTION>= 1durationfalseExponential retry
Retry with exponentially increasing delays between attempts.
durationdurationRETRY_FAILED_TASKRETRY_FAILED_TASKCREATE_NEW_EXECUTION>= 1durationfalseRandom retry
Retry with a random delay within a configurable range between attempts.
durationdurationRETRY_FAILED_TASKRETRY_FAILED_TASKCREATE_NEW_EXECUTION>= 1durationfalseretryMessages array
["due to concurrent update","Retrying the job may solve the problem","Retrying may solve the problem"]Retry message substrings
Case-insensitive substrings that, if found in the error message, trigger an automatic retry
retryReasons array
["rateLimitExceeded","jobBackendError","backendError","internalError","jobInternalError"]Retry reasons
BigQuery error reasons that trigger an automatic retry; evaluated against error reason strings
scopes array
["https://www.googleapis.com/auth/cloud-platform"]The GCP scopes to be used
serviceAccount string
The GCP service account
tableDefinition Non-dynamic
Table definition
The table definition (standard, external, view, etc.). Required when creating a table; optional when updating, where the current definition is preserved unless overridden.
io.kestra.plugin.gcp.bigquery.models.TableDefinition
The external table definition if the type is EXTERNAL
io.kestra.plugin.gcp.bigquery.models.ExternalTableDefinition
Whether automatic detection of schema and format options should be performed
The compression type of the data source
CSVJSONBIGTABLEDATASTORE_BACKUPAVROGOOGLE_SHEETSPARQUETORCThe source format, and possibly some parsing options, of the external data
Whether BigQuery should allow extra values that are not represented in the table schema
If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result.
The maximum number of bad records that BigQuery can ignore when reading data
If the number of bad records exceeds this value, an invalid error is returned in the job result.
The fully-qualified URIs that point to your data in Google Cloud Storage
Each URI can contain one '*' wildcard character that must come after the bucket's name. Size limits related to load jobs apply to external data sources, plus an additional limit of 10 GB maximum size across all URIs.
The materialized view definition if the type is MATERIALIZED_VIEW
io.kestra.plugin.gcp.bigquery.models.MaterializedViewDefinition
Whether automatic refresh is enabled for the materialized view when the base table is updated
date-timeDate when this materialized view was last refreshed
The query whose result is persisted
The maximum frequency at which this materialized view will be refreshed
The table's schema
io.kestra.plugin.gcp.bigquery.models.Schema
The fields associated with this schema.
io.kestra.plugin.gcp.bigquery.models.Field
The field description
NULLABLEREQUIREDREPEATEDThe field mode
By default, Field.Mode.NULLABLE is used.
The field name
The policy tags for the field
The list of sub-fields if type is a record/struct type (StandardSQLTypeName.STRUCT). Null otherwise.
BOOLINT64FLOAT64NUMERICBIGNUMERICSTRINGBYTESSTRUCTARRAYTIMESTAMPDATETIMEDATETIMEGEOGRAPHYJSONINTERVALRANGEThe field type
The table definition if the type is TABLE
io.kestra.plugin.gcp.bigquery.models.StandardTableDefinition
The clustering configuration for this table. If null, the table is not clustered
The range partitioning configuration for this table. If null, the table is not range-partitioned
io.kestra.plugin.gcp.bigquery.models.RangePartitioning
The range partitioning field.
The range of range partitioning.
Information on the table's streaming buffer, if it exists. Null if no streaming buffer exists
com.google.cloud.bigquery.StandardTableDefinition-StreamingBuffer
The time partitioning configuration for this table. If null, the table is not time-partitioned
io.kestra.plugin.gcp.bigquery.models.TimePartitioning
The duration for which to keep the storage for a partition. When expired, the storage for the partition is reclaimed. If null, the partition does not expire
If not set, the table is partitioned by pseudo column '_PARTITIONTIME'; if set, the table is partitioned by this field
If set to true, queries over this table require a partition filter (that can be used for partition elimination) to be specified
DAYHOURMONTHYEARThe time partitioning type
TABLEVIEWMATERIALIZED_VIEWEXTERNALMODELThe table's type
The view definition if the type is VIEW
io.kestra.plugin.gcp.bigquery.models.ViewDefinition
The query whose result is persisted
User defined functions that can be used by query. Null if not set
io.kestra.plugin.gcp.bigquery.models.UserDefinedFunction
The content of the user defined function
If type is INLINE, this is a code blob. If type is FROM_URI, this is a Google Cloud Storage URI (e.g. gs://bucket/path).
INLINEFROM_URIThe type of user defined function.
Outputs
creationTime string
date-timeCreation time
datasetId string
Dataset ID
definition
Table definition
io.kestra.plugin.gcp.bigquery.models.TableDefinition-Output
io.kestra.plugin.gcp.bigquery.models.ExternalTableDefinition-Output
CSVJSONBIGTABLEDATASTORE_BACKUPAVROGOOGLE_SHEETSPARQUETORCio.kestra.plugin.gcp.bigquery.models.MaterializedViewDefinition-Output
date-timedurationio.kestra.plugin.gcp.bigquery.models.Schema-Output
io.kestra.plugin.gcp.bigquery.models.Field-Output
NULLABLEREQUIREDREPEATEDBOOLINT64FLOAT64NUMERICBIGNUMERICSTRINGBYTESSTRUCTARRAYTIMESTAMPDATETIMEDATETIMEGEOGRAPHYJSONINTERVALRANGEio.kestra.plugin.gcp.bigquery.models.StandardTableDefinition-Output
io.kestra.plugin.gcp.bigquery.models.RangePartitioning-Output
com.google.cloud.bigquery.StandardTableDefinition-StreamingBuffer
io.kestra.plugin.gcp.bigquery.models.TimePartitioning-Output
durationDAYHOURMONTHYEARTABLEVIEWMATERIALIZED_VIEWEXTERNALMODELio.kestra.plugin.gcp.bigquery.models.ViewDefinition-Output
io.kestra.plugin.gcp.bigquery.models.UserDefinedFunction-Output
INLINEFROM_URIdescription string
Description
encryptionConfiguration
Encryption configuration
io.kestra.plugin.gcp.bigquery.models.EncryptionConfiguration-Output
etag string
Table etag
expirationTime string
date-timeExpiration time
If absent, the table persists indefinitely; expired tables are deleted
friendlyName string
Friendly name
generatedId string
Service-generated table id
labels object
Labels
lastModifiedTime string
date-timeLast modified time
numBytes integer
Size in bytes
numLongTermBytes integer
Long-term storage bytes
Bytes billed at long-term storage rates
numRows integer
Row count
projectId string
Project ID
requirePartitionFilter boolean
Require partition filter
True when queries must specify a partition filter for partition elimination
selfLink string
Self link URL
API URL for get or update requests
table string
Table name