BigQueryUpdateTableSchemaOperator

Google

Update BigQuery Table Schema Updates fields on a table schema based on contents of the supplied schema_fields_updates parameter. The supplied schema does not need to be complete, if the field already exists in the schema you only need to supply keys & values for the items you want to patch, just ensure the “name” key is set.

View on GitHub

Last Updated: Mar. 16, 2023

Access Instructions

Install the Google provider package into your Airflow environment.

Import the module into your DAG file and instantiate it with your desired params.

Parameters

schema_fields_updatesRequireda partial schema resource. see https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#TableSchema

Documentation

Update BigQuery Table Schema Updates fields on a table schema based on contents of the supplied schema_fields_updates parameter. The supplied schema does not need to be complete, if the field already exists in the schema you only need to supply keys & values for the items you want to patch, just ensure the “name” key is set.

See also

For more information on how to use this operator, take a look at the guide: Update table schema

Example:

schema_fields_updates=[
{"name": "emp_name", "description": "Some New Description"},
{"name": "salary", "policyTags": {'names': ['some_new_policy_tag']},},
{"name": "departments", "fields": [
{"name": "name", "description": "Some New Description"},
{"name": "type", "description": "Some New Description"}
]},
]
param include_policy_tags

(Optional) If set to True policy tags will be included in the update request which requires special permissions even if unchanged (default False) see https://cloud.google.com/bigquery/docs/column-level-security#roles

param dataset_id

A dotted (<project>.|<project>:)<dataset> that indicates which dataset will be updated. (templated)

param table_id

The table ID of the requested table. (templated)

param project_id

The name of the project where we want to update the dataset. Don’t need to provide, if projectId in dataset_reference.

param gcp_conn_id

(Optional) The connection ID used to connect to Google Cloud.

param delegate_to

The account to impersonate, if any. For this to work, the service account making the request must have domain-wide delegation enabled.

param location

The location used for the operation.

param impersonation_chain

Optional service account to impersonate using short-term credentials, or chained list of accounts required to get the access_token of the last account in the list, which will be impersonated in the request. If set as a string, the account must grant the originating account the Service Account Token Creator IAM role. If set as a sequence, the identities from the list must grant Service Account Token Creator IAM role to the directly preceding identity, with first account from the list granting this role to the originating account (templated).

Was this page helpful?