:py:mod:`airflow.providers.microsoft.azure.transfers.azure_blob_to_gcs`
=======================================================================

.. py:module:: airflow.providers.microsoft.azure.transfers.azure_blob_to_gcs


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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.microsoft.azure.transfers.azure_blob_to_gcs.AzureBlobStorageToGCSOperator




.. py:class:: AzureBlobStorageToGCSOperator(*, wasb_conn_id='wasb_default', gcp_conn_id = 'google_cloud_default', blob_name, file_path, container_name, bucket_name, object_name, filename, gzip, delegate_to, impersonation_chain = None, **kwargs)

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

   Operator transfers data from Azure Blob Storage to specified bucket in Google Cloud Storage

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

   :param wasb_conn_id: Reference to the wasb connection.
   :param gcp_conn_id: The connection ID to use when fetching connection info.
   :param blob_name: Name of the blob
   :param file_path: Path to the file to download
   :param container_name: Name of the container
   :param bucket_name: The bucket to upload to
   :param object_name: The object name to set when uploading the file
   :param filename: The local file path to the file to be uploaded
   :param gzip: Option to compress local file or file data for upload
   :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.

   .. py:attribute:: template_fields
      :annotation: :Sequence[str] = ['blob_name', 'file_path', 'container_name', 'bucket_name', 'object_name', 'filename']

      

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



