airflow.decorators.base
¶
模組內容¶
類別¶
包裝 Python 可調用物件,並在調用執行時捕獲 args/kwargs。 |
|
用於 @task 裝飾任務函式的 MappedOperator 實作。 |
|
用於類型檢查的 @task 裝飾可調用物件的宣告。 |
|
用於 |
函式¶
|
產生給定 DAG 的唯一任務 ID(或在 DAG 環境中執行時)。 |
|
產生一個包裝器,將函式包裝到 Airflow 運算子中。 |
屬性¶
- airflow.decorators.base.get_unique_task_id(task_id, dag=None, task_group=None)[原始碼]¶
產生給定 DAG 的唯一任務 ID(或在 DAG 環境中執行時)。
ID 通過在原始任務 ID 的末尾附加唯一數字來產生。
- 範例
task_id task_id__1 task_id__2 … task_id__20
- class airflow.decorators.base.DecoratedOperator(*, python_callable, task_id, op_args=None, op_kwargs=None, kwargs_to_upstream=None, **kwargs)[原始碼]¶
基底類別:
airflow.models.baseoperator.BaseOperator
包裝 Python 可調用物件,並在調用執行時捕獲 args/kwargs。
- 參數
python_callable (Callable) – 可調用物件的參考
op_kwargs (Mapping[str, Any] | None) – 將在您的函式中解包的關鍵字引數字典 (已套用範本)
op_args (Collection[Any] | None) – 在調用您的可調用物件時將解包的位置引數列表 (已套用範本)
multiple_outputs – 如果設定為 True,裝飾函式的返回值將被展開為多個 XCom 值。字典將展開為以其鍵作為 XCom 鍵的 XCom 值。預設為 False。
kwargs_to_upstream (dict[str, Any] | None) – 對於某些運算子,我們可能需要將某些引數上游傳遞,否則這些引數將被 DecoratedOperator 吸收(例如 PythonOperator 的 python_callable)。這讓使用者可以選擇根據需要上游傳遞 kwargs。
- class airflow.decorators.base.DecoratedMappedOperator(context=None)[原始碼]¶
基底類別:
airflow.models.mappedoperator.MappedOperator
用於 @task 裝飾任務函式的 MappedOperator 實作。
- class airflow.decorators.base.Task[原始碼]¶
基底類別:
airflow.typing_compat.Protocol
,Generic
[FParams
,FReturn
]用於類型檢查的 @task 裝飾可調用物件的宣告。
此類型的實例繼承了包裝在其中的裝飾函式的呼叫簽名(不完全是,因為它實際上返回 XComArg,但目前無法表達),並提供兩種額外的方法用於任務映射。
此類型由運行時的
_TaskDecorator
實作。
- class airflow.decorators.base.TaskDecorator[原始碼]¶
基底類別:
airflow.typing_compat.Protocol
用於
task_decorator_factory
返回類型的類型宣告。
- airflow.decorators.base.task_decorator_factory(python_callable=None, *, multiple_outputs=None, decorated_operator_class, **kwargs)[原始碼]¶
產生一個包裝器,將函式包裝到 Airflow 運算子中。
可以在單個 DAG 中重複使用。
- 參數
python_callable (Callable | None) – 要裝飾的函式。
multiple_outputs (bool | None) – 如果設定為 True,裝飾函式的返回值將被展開為多個 XCom 值。字典將展開為以其鍵作為 XCom 鍵的 XCom 值。如果設定為 False(預設),則最多推送一個 XCom 值。
decorated_operator_class (type[airflow.models.baseoperator.BaseOperator]) – 執行在正確環境中運行 python 函式所需邏輯的運算子。
其他 kwargs 在實例化時直接轉發到基礎運算子類別。