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

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


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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.google.cloud.transfers.azure_fileshare_to_gcs.AzureFileShareToGCSOperator




.. py:class:: AzureFileShareToGCSOperator(*, share_name, dest_gcs, directory_name = None, prefix = '', azure_fileshare_conn_id = 'azure_fileshare_default', gcp_conn_id = 'google_cloud_default', delegate_to = None, replace = False, gzip = False, google_impersonation_chain = None, **kwargs)

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

   Synchronizes a Azure FileShare directory content (excluding subdirectories),
   possibly filtered by a prefix, with a Google Cloud Storage destination path.

   :param share_name: The Azure FileShare share where to find the objects. (templated)
   :param directory_name: (Optional) Path to Azure FileShare directory which content is to be transferred.
       Defaults to root directory (templated)
   :param prefix: Prefix string which filters objects whose name begin with
       such prefix. (templated)
   :param azure_fileshare_conn_id: The source WASB connection
   :param gcp_conn_id: (Optional) The connection ID used to connect to Google Cloud.
   :param dest_gcs: The destination Google Cloud Storage bucket and prefix
       where you want to store the files. (templated)
   :param delegate_to: Google 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 replace: Whether you want to replace existing destination files
       or not.
   :param gzip: Option to compress file for upload
   :param google_impersonation_chain: Optional Google 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).

   Note that ``share_name``, ``directory_name``, ``prefix``, ``delimiter`` and ``dest_gcs`` are
   templated, so you can use variables in them if you wish.

   .. py:attribute:: template_fields
      :annotation: :Sequence[str] = ['share_name', 'directory_name', 'prefix', 'dest_gcs']

      

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



