| :mod:`airflow.contrib.sensors.gcs_sensor` |
| ========================================= |
| |
| .. py:module:: airflow.contrib.sensors.gcs_sensor |
| |
| |
| Module Contents |
| --------------- |
| |
| .. py:class:: GoogleCloudStorageObjectSensor(bucket, object, google_cloud_conn_id='google_cloud_default', delegate_to=None, *args, **kwargs) |
| |
| Bases: :class:`airflow.sensors.base_sensor_operator.BaseSensorOperator` |
| |
| Checks for the existence of a file in Google Cloud Storage. |
| |
| :param bucket: The Google cloud storage bucket where the object is. |
| :type bucket: str |
| :param object: The name of the object to check in the Google cloud |
| storage bucket. |
| :type object: str |
| :param google_cloud_conn_id: The connection ID to use when |
| connecting to Google cloud storage. |
| :type google_cloud_conn_id: str |
| :param delegate_to: The account to impersonate, if any. |
| For this to work, the service account making the request must have |
| domain-wide delegation enabled. |
| :type delegate_to: str |
| |
| .. attribute:: template_fields |
| :annotation: = ['bucket', 'object'] |
| |
| |
| |
| .. attribute:: ui_color |
| :annotation: = #f0eee4 |
| |
| |
| |
| |
| .. method:: poke(self, context) |
| |
| |
| |
| |
| .. function:: ts_function(context) |
| Default callback for the GoogleCloudStorageObjectUpdatedSensor. The default |
| behaviour is check for the object being updated after execution_date + |
| schedule_interval. |
| |
| |
| .. py:class:: GoogleCloudStorageObjectUpdatedSensor(bucket, object, ts_func=ts_function, google_cloud_conn_id='google_cloud_default', delegate_to=None, *args, **kwargs) |
| |
| Bases: :class:`airflow.sensors.base_sensor_operator.BaseSensorOperator` |
| |
| Checks if an object is updated in Google Cloud Storage. |
| |
| :param bucket: The Google cloud storage bucket where the object is. |
| :type bucket: str |
| :param object: The name of the object to download in the Google cloud |
| storage bucket. |
| :type object: str |
| :param ts_func: Callback for defining the update condition. The default callback |
| returns execution_date + schedule_interval. The callback takes the context |
| as parameter. |
| :type ts_func: function |
| :param google_cloud_conn_id: The connection ID to use when |
| connecting to Google cloud storage. |
| :type google_cloud_conn_id: str |
| :param delegate_to: The account to impersonate, if any. |
| For this to work, the service account making the request must have domain-wide |
| delegation enabled. |
| :type delegate_to: str |
| |
| .. attribute:: template_fields |
| :annotation: = ['bucket', 'object'] |
| |
| |
| |
| .. attribute:: ui_color |
| :annotation: = #f0eee4 |
| |
| |
| |
| |
| .. method:: poke(self, context) |
| |
| |
| |
| |
| .. py:class:: GoogleCloudStoragePrefixSensor(bucket, prefix, google_cloud_conn_id='google_cloud_default', delegate_to=None, *args, **kwargs) |
| |
| Bases: :class:`airflow.sensors.base_sensor_operator.BaseSensorOperator` |
| |
| Checks for the existence of a objects at prefix in Google Cloud Storage bucket. |
| |
| :param bucket: The Google cloud storage bucket where the object is. |
| :type bucket: str |
| :param prefix: The name of the prefix to check in the Google cloud |
| storage bucket. |
| :type prefix: str |
| :param google_cloud_conn_id: The connection ID to use when |
| connecting to Google cloud storage. |
| :type google_cloud_conn_id: str |
| :param delegate_to: The account to impersonate, if any. |
| For this to work, the service account making the request must have |
| domain-wide delegation enabled. |
| :type delegate_to: str |
| |
| .. attribute:: template_fields |
| :annotation: = ['bucket', 'prefix'] |
| |
| |
| |
| .. attribute:: ui_color |
| :annotation: = #f0eee4 |
| |
| |
| |
| |
| .. method:: poke(self, context) |
| |
| |
| |
| |
| .. function:: get_time() |
| This is just a wrapper of datetime.datetime.now to simplify mocking in the |
| unittests. |
| |
| |
| .. py:class:: GoogleCloudStorageUploadSessionCompleteSensor(bucket, prefix, inactivity_period=60 * 60, min_objects=1, previous_num_objects=0, allow_delete=True, google_cloud_conn_id='google_cloud_default', delegate_to=None, *args, **kwargs) |
| |
| Bases: :class:`airflow.sensors.base_sensor_operator.BaseSensorOperator` |
| |
| Checks for changes in the number of objects at prefix in Google Cloud Storage |
| bucket and returns True if the inactivity period has passed with no |
| increase in the number of objects. Note, it is recommended to use reschedule |
| mode if you expect this sensor to run for hours. |
| |
| :param bucket: The Google cloud storage bucket where the objects are. |
| expected. |
| :type bucket: str |
| :param prefix: The name of the prefix to check in the Google cloud |
| storage bucket. |
| :param inactivity_period: The total seconds of inactivity to designate |
| an upload session is over. Note, this mechanism is not real time and |
| this operator may not return until a poke_interval after this period |
| has passed with no additional objects sensed. |
| :type inactivity_period: int |
| :param min_objects: The minimum number of objects needed for upload session |
| to be considered valid. |
| :type min_objects: int |
| :param previous_num_objects: The number of objects found during the last poke. |
| :type previous_num_objects: int |
| :param inactivity_seconds: The current seconds of the inactivity period. |
| :type inactivity_seconds: int |
| :param allow_delete: Should this sensor consider objects being deleted |
| between pokes valid behavior. If true a warning message will be logged |
| when this happens. If false an error will be raised. |
| :type allow_delete: bool |
| :param google_cloud_conn_id: The connection ID to use when connecting |
| to Google cloud storage. |
| :type google_cloud_conn_id: str |
| :param delegate_to: The account to impersonate, if any. For this to work, |
| the service account making the request must have domain-wide |
| delegation enabled. |
| :type delegate_to: str |
| |
| .. attribute:: template_fields |
| :annotation: = ['bucket', 'prefix'] |
| |
| |
| |
| .. attribute:: ui_color |
| :annotation: = #f0eee4 |
| |
| |
| |
| |
| .. method:: is_bucket_updated(self, current_num_objects) |
| |
| Checks whether new objects have been uploaded and the inactivity_period |
| has passed and updates the state of the sensor accordingly. |
| |
| :param current_num_objects: number of objects in bucket during last poke. |
| :type current_num_objects: int |
| |
| |
| |
| |
| .. method:: poke(self, context) |
| |
| |
| |
| |