:py:mod:`airflow.providers.google.cloud.links.bigquery`
=======================================================

.. py:module:: airflow.providers.google.cloud.links.bigquery

.. autoapi-nested-parse::

   This module contains Google BigQuery links.



Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.google.cloud.links.bigquery.BigQueryDatasetLink
   airflow.providers.google.cloud.links.bigquery.BigQueryTableLink




Attributes
~~~~~~~~~~

.. autoapisummary::

   airflow.providers.google.cloud.links.bigquery.BIGQUERY_BASE_LINK
   airflow.providers.google.cloud.links.bigquery.BIGQUERY_DATASET_LINK
   airflow.providers.google.cloud.links.bigquery.BIGQUERY_TABLE_LINK


.. py:data:: BIGQUERY_BASE_LINK
   :annotation: = /bigquery

   

.. py:data:: BIGQUERY_DATASET_LINK
   

   

.. py:data:: BIGQUERY_TABLE_LINK
   

   

.. py:class:: BigQueryDatasetLink

   Bases: :py:obj:`airflow.providers.google.cloud.links.base.BaseGoogleLink`

   Helper class for constructing BigQuery Dataset Link

   .. py:attribute:: name
      :annotation: = BigQuery Dataset

      

   .. py:attribute:: key
      :annotation: = bigquery_dataset

      

   .. py:attribute:: format_str
      

      

   .. py:method:: persist(context, task_instance, dataset_id, project_id)
      :staticmethod:



.. py:class:: BigQueryTableLink

   Bases: :py:obj:`airflow.providers.google.cloud.links.base.BaseGoogleLink`

   Helper class for constructing BigQuery Table Link

   .. py:attribute:: name
      :annotation: = BigQuery Table

      

   .. py:attribute:: key
      :annotation: = bigquery_table

      

   .. py:attribute:: format_str
      

      

   .. py:method:: persist(context, task_instance, project_id, table_id, dataset_id = None)
      :staticmethod:



