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

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


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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.google.cloud.transfers.gdrive_to_gcs.GoogleDriveToGCSOperator




.. py:class:: GoogleDriveToGCSOperator(*, bucket_name, object_name = None, file_name, folder_id, drive_id = None, gcp_conn_id = 'google_cloud_default', delegate_to = None, impersonation_chain = None, **kwargs)

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

   Writes a Google Drive file into Google Cloud Storage.

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

   :param bucket_name: The destination Google cloud storage bucket where the
       file should be written to
   :param object_name: The Google Cloud Storage object name for the object created by the operator.
       For example: ``path/to/my/file/file.txt``.
   :param folder_id: The folder id of the folder in which the Google Drive file resides
   :param file_name: The name of the file residing in Google Drive
   :param drive_id: Optional. The id of the shared Google Drive in which the file resides.
   :param gcp_conn_id: The GCP 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] = ['bucket_name', 'object_name', 'folder_id', 'file_name', 'drive_id', 'impersonation_chain']

      

   .. py:method:: execute(self, 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.



