Основанный на событиях Запуск и запуск задачи воздушного потока при переносе файла в корзину S3 - PullRequest
0 голосов
/ 04 ноября 2019

Возможно ли запустить задачу воздушного потока только тогда, когда происходит конкретное событие, например, событие сбрасывания файла в определенную корзину S3. Нечто похожее на события AWS Lambda

Существует S3KeySensor, но я не знаю, выполняет ли он то, что я хочу (запускать задачу только при возникновении события)

Вот примерсделайте вопрос более понятным:

У меня есть сенсорный объект следующим образом

sensor = S3KeySensor(
    task_id='run_on_every_file_drop',
    bucket_key='file-to-watch-*',
    wildcard_match=True,
    bucket_name='my-sensor-bucket',
    timeout=18*60*60,
    poke_interval=120,
    dag=dag
)

При использовании вышеуказанного сенсорного объекта поведение воздушного потока для сенсорной задачи выглядит следующим образом:

  • Запускает задачу, если уже есть имя объекта, совпадающее с подстановочным знаком в сегменте S3 my-sensor-bucket даже до переключения DAG ON в пользовательском интерфейсе администратора воздушного потока (я не хочу запускать задачу из-за присутствияиз прошлых объектов s3)
  • После однократного запуска задача сенсора не будет запускаться снова при каждом новом отбрасывании файлового объекта S3 (я хочу запускать задачу сенсора и последующие задачи в группе обеспечения доступности баз данных каждый раз, когда естьновый объект файла S3, помещенный в корзину my-sensor-bucket)
  • Если вы настроите планировщик, задачи будут выполняться по расписанию, но не по событию. Так что в этом случае планировщик не подходит

Я пытаюсь понять, могут ли задачи в потоке воздуха выполняться только на основе расписания (например, задания cron) или датчиков (только один раз на основе критериев восприятия)) или он не может быть настроен как конвейер событий (что-то похожее на AWS Lambda)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...