:py:mod:`airflow.providers.google.cloud.transfers.sheets_to_gcs`
================================================================

.. py:module:: airflow.providers.google.cloud.transfers.sheets_to_gcs


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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.google.cloud.transfers.sheets_to_gcs.GoogleSheetsToGCSOperator




.. py:class:: GoogleSheetsToGCSOperator(*, spreadsheet_id, destination_bucket, sheet_filter = None, destination_path = None, gcp_conn_id = 'google_cloud_default', delegate_to = None, impersonation_chain = None, **kwargs)

   Bases: :py:obj:`airflow.models.BaseOperator`

   Writes Google Sheet data into Google Cloud Storage.

   .. seealso::
       For more information on how to use this operator, take a look at the guide:
       :ref:`howto/operator:GoogleSheetsToGCSOperator`

   :param spreadsheet_id: The Google Sheet ID to interact with.
   :param sheet_filter: Default to None, if provided, Should be an array of the sheet
       titles to pull from.
   :param destination_bucket: The destination Google cloud storage bucket where the
       report should be written to. (templated)
   :param destination_path: The Google cloud storage URI array for the object created by the operator.
       For example: ``path/to/my/files``.
   :param gcp_conn_id: The connection ID to use when fetching connection info.
   :param 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.
   :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).

   .. py:attribute:: template_fields
      :annotation: :Sequence[str] = ['spreadsheet_id', 'destination_bucket', 'destination_path', 'sheet_filter', 'impersonation_chain']

      

   .. py:method:: execute(context)

      This is the main method to derive when creating an operator.
      Context is the same dictionary used as when rendering jinja templates.

      Refer to get_template_context for more context.



