:py:mod:`airflow.providers.microsoft.azure.hooks.base_azure`
============================================================

.. py:module:: airflow.providers.microsoft.azure.hooks.base_azure


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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.microsoft.azure.hooks.base_azure.AzureBaseHook




.. py:class:: AzureBaseHook(sdk_client, conn_id = 'azure_default')

   Bases: :py:obj:`airflow.hooks.base.BaseHook`

   This hook acts as a base hook for azure services. It offers several authentication mechanisms to
   authenticate the client library used for upstream azure hooks.

   :param sdk_client: The SDKClient to use.
   :param conn_id: The :ref:`Azure connection id<howto/connection:azure>`
       which refers to the information to connect to the service.

   .. py:attribute:: conn_name_attr
      :annotation: = azure_conn_id

      

   .. py:attribute:: default_conn_name
      :annotation: = azure_default

      

   .. py:attribute:: conn_type
      :annotation: = azure

      

   .. py:attribute:: hook_name
      :annotation: = Azure

      

   .. py:method:: get_connection_form_widgets()
      :staticmethod:

      Returns connection widgets to add to connection form


   .. py:method:: get_ui_field_behaviour()
      :staticmethod:

      Returns custom field behaviour


   .. py:method:: get_conn(self)

      Authenticates the resource using the connection id passed during init.

      :return: the authenticated client.



