airflow.providers.google.cloud.sensors.bigquery

This module contains Google BigQuery sensors.

Module Contents

Classes

BigQueryTableExistenceSensor

Checks for the existence of a table in Google Bigquery.

BigQueryTablePartitionExistenceSensor

Checks for the existence of a partition within a table in Google Bigquery.

BigQueryTableExistenceAsyncSensor

Checks for the existence of a table in Google Big Query.

class airflow.providers.google.cloud.sensors.bigquery.BigQueryTableExistenceSensor(*, project_id, dataset_id, table_id, gcp_conn_id='google_cloud_default', delegate_to=None, impersonation_chain=None, **kwargs)[source]

Bases: airflow.sensors.base.BaseSensorOperator

Checks for the existence of a table in Google Bigquery.

Parameters
  • project_id (str) – The Google cloud project in which to look for the table. The connection supplied to the hook must provide access to the specified project.

  • dataset_id (str) – The name of the dataset in which to look for the table. storage bucket.

  • table_id (str) – The name of the table to check the existence of.

  • gcp_conn_id (str) – (Optional) The connection ID used to connect to Google Cloud.

  • delegate_to (str | None) – The account to impersonate using domain-wide delegation of authority, if any. For this to work, the service account making the request must have domain-wide delegation enabled.

  • impersonation_chain (str | Sequence[str] | None) – 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).

template_fields :Sequence[str] = ['project_id', 'dataset_id', 'table_id', 'impersonation_chain'][source]
ui_color = #f0eee4[source]
poke(context)[source]

Function that the sensors defined while deriving this class should override.

class airflow.providers.google.cloud.sensors.bigquery.BigQueryTablePartitionExistenceSensor(*, project_id, dataset_id, table_id, partition_id, gcp_conn_id='google_cloud_default', delegate_to=None, impersonation_chain=None, **kwargs)[source]

Bases: airflow.sensors.base.BaseSensorOperator

Checks for the existence of a partition within a table in Google Bigquery.

Parameters
  • project_id (str) – The Google cloud project in which to look for the table. The connection supplied to the hook must provide access to the specified project.

  • dataset_id (str) – The name of the dataset in which to look for the table. storage bucket.

  • table_id (str) – The name of the table to check the existence of.

  • partition_id (str) – The name of the partition to check the existence of.

  • gcp_conn_id (str) – (Optional) The connection ID used to connect to Google Cloud.

  • delegate_to (str | None) – The account to impersonate, if any. For this to work, the service account making the request must have domain-wide delegation enabled.

  • impersonation_chain (str | Sequence[str] | None) – 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).

template_fields :Sequence[str] = ['project_id', 'dataset_id', 'table_id', 'partition_id', 'impersonation_chain'][source]
ui_color = #f0eee4[source]
poke(context)[source]

Function that the sensors defined while deriving this class should override.

class airflow.providers.google.cloud.sensors.bigquery.BigQueryTableExistenceAsyncSensor(gcp_conn_id='google_cloud_default', polling_interval=5.0, **kwargs)[source]

Bases: BigQueryTableExistenceSensor

Checks for the existence of a table in Google Big Query.

Parameters
  • project_id – The Google cloud project in which to look for the table. The connection supplied to the hook must provide access to the specified project.

  • dataset_id – The name of the dataset in which to look for the table. storage bucket.

  • table_id – The name of the table to check the existence of.

  • gcp_conn_id (str) – The connection ID used to connect to Google Cloud.

  • bigquery_conn_id – (Deprecated) The connection ID used to connect to Google Cloud. This parameter has been deprecated. You should pass the gcp_conn_id parameter instead.

  • delegate_to – The account to impersonate using domain-wide delegation of authority, if any. For this to work, the service account making the request must have domain-wide delegation enabled.

  • 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).

  • polling_interval (float) – The interval in seconds to wait between checks table existence.

execute(context)[source]

Airflow runs this method on the worker and defers using the trigger.

execute_complete(context, event=None)[source]

Callback for when the trigger fires - returns immediately. Relies on trigger to throw an exception, otherwise it assumes execution was successful.

Was this entry helpful?