Edytor wizualny i canvas

Canvas to plansza React Flowosadzona bezpośrednio w interfejsie Airflow. Każdy węzeł na niej odpowiada instrukcji w pliku Pythona Twojego DAGa.

Budowanie grafu

  • Przeciągnij operatory z przeszukiwalnej, pogrupowanej kategoriami palety na canvas, albo kliknij blok, by go dodać.
  • Połącz zadania, przeciągając między uchwytami — krawędzie zależności obsługują zarówno pojedyncze zadania, jak i TaskGroupy jako punkty końcowe (task >> group, group >> group).
  • Kliknij krawędź, by ustawić jej Label oraz trigger_rule zadania docelowego (np. ALL_FAILED, ONE_SUCCESS).

Grupowanie

Zaznacz kilka węzłów i wciśnij Ctrl+G, albo skorzystaj z menu kontekstowego (prawy przycisk myszy), by stworzyć TaskGroup. Grupy renderują się jako przerywane ramki na canvasie, które możesz:

  • Przeciągać, by przesunąć wszystkie zadania w środku naraz.
  • Kliknąć w nagłówek ramki, by zmienić nazwę group_id albo usunąć grupę (z potwierdzeniem — usunięcie grupy rozgrupowuje zadania w środku, nie usuwa ich).
  • Przeciągać zadania do i z grupy, by zmieniać jej skład; zagnieżdżanie grup w grupach jest wspierane.

Edytory parametrów

Każdy parametr operatora dostaje formularz dopasowany do swojego typu:

  • Zwykły tekst / liczby / boolean — standardowe pole.
  • Słowniki (np. params, env) — edytor listy klucz:wartość.
  • Pola tekstowe typu HTML — edytor WYSIWYG (rich-text).
  • Pola *conn_id — lista rozwijana z Twoich skonfigurowanych połączeń Airflow, z połączeniami tego samego typu na górze.
  • Wszystko inne — rozwijane pole z surowym wyrażeniem Pythona, walidowane w momencie generowania kodu.

Ustawienia na poziomie DAGa (harmonogram, start_date, catchup, max_active_runs, default_args) mieszkają w osobnym modalu DAG settings, z kreatorem crona opartym na "chipach".

Dynamiczny kod zostaje widoczny

Konstrukcje, których edytor wizualny nie potrafi bezpiecznie odtworzyć w obie strony — pętle generujące zadania, .partial().expand() — pojawiają się na canvasie jako przerywane, edytowalne-tylko-w-kodzie węzły "opaque". Są ustawione we właściwym miejscu względem reszty grafu; ich edycja odbywa się w widoku kodu.