:py:mod:`airflow.providers.microsoft.azure.sensors.wasb`
========================================================

.. py:module:: airflow.providers.microsoft.azure.sensors.wasb


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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.microsoft.azure.sensors.wasb.WasbBlobSensor
   airflow.providers.microsoft.azure.sensors.wasb.WasbPrefixSensor




.. py:class:: WasbBlobSensor(*, container_name, blob_name, wasb_conn_id = 'wasb_default', check_options = None, **kwargs)

   Bases: :py:obj:`airflow.sensors.base.BaseSensorOperator`

   Waits for a blob to arrive on Azure Blob Storage.

   :param container_name: Name of the container.
   :param blob_name: Name of the blob.
   :param wasb_conn_id: Reference to the :ref:`wasb connection <howto/connection:wasb>`.
   :param check_options: Optional keyword arguments that
       `WasbHook.check_for_blob()` takes.

   .. py:attribute:: template_fields
      :annotation: :Sequence[str] = ['container_name', 'blob_name']

      

   .. py:method:: poke(self, context)

      Function that the sensors defined while deriving this class should
      override.



.. py:class:: WasbPrefixSensor(*, container_name, prefix, wasb_conn_id = 'wasb_default', check_options = None, **kwargs)

   Bases: :py:obj:`airflow.sensors.base.BaseSensorOperator`

   Waits for blobs matching a prefix to arrive on Azure Blob Storage.

   :param container_name: Name of the container.
   :param prefix: Prefix of the blob.
   :param wasb_conn_id: Reference to the wasb connection.
   :param check_options: Optional keyword arguments that
       `WasbHook.check_for_prefix()` takes.

   .. py:attribute:: template_fields
      :annotation: :Sequence[str] = ['container_name', 'prefix']

      

   .. py:method:: poke(self, context)

      Function that the sensors defined while deriving this class should
      override.



