:mod:`airflow.contrib.sensors.pubsub_sensor`
============================================

.. py:module:: airflow.contrib.sensors.pubsub_sensor


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

.. py:class:: PubSubPullSensor(project, subscription, max_messages=5, return_immediately=False, ack_messages=False, gcp_conn_id='google_cloud_default', delegate_to=None, *args, **kwargs)

   Bases: :class:`airflow.sensors.base_sensor_operator.BaseSensorOperator`

   Pulls messages from a PubSub subscription and passes them through XCom.

   This sensor operator will pull up to ``max_messages`` messages from the
   specified PubSub subscription. When the subscription returns messages,
   the poke method's criteria will be fulfilled and the messages will be
   returned from the operator and passed through XCom for downstream tasks.

   If ``ack_messages`` is set to True, messages will be immediately
   acknowledged before being returned, otherwise, downstream tasks will be
   responsible for acknowledging them.

   ``project`` and ``subscription`` are templated so you can use
   variables in them.

   .. attribute:: template_fields
      :annotation: = ['project', 'subscription']

      

   .. attribute:: ui_color
      :annotation: = #ff7f50

      

   
   .. method:: execute(self, context)

      Overridden to allow messages to be passed



   
   .. method:: poke(self, context)




