airflow.providers.standard.operators.branch

分支運算子。

BranchMixIn

一個實用助手,用一行程式碼處理分支。

BaseBranchOperator

一個用於建立具有分支功能的運算子的基類,例如 BranchPythonOperator。

模組內容

class airflow.providers.standard.operators.branch.BranchMixIn(context=None)[原始碼]

基類: airflow.providers.standard.utils.skipmixin.SkipMixin

一個實用助手,用一行程式碼處理分支。

do_branch(context, branches_to_execute)[原始碼]

實現分支的處理,包括日誌記錄。

class airflow.providers.standard.operators.branch.BaseBranchOperator(**kwargs)[原始碼]

基類: airflow.models.baseoperator.BaseOperator, BranchMixIn

一個用於建立具有分支功能的運算子的基類,例如 BranchPythonOperator。

使用者應該從此運算子建立一個子類,並實現 choose_branch(self, context) 函式。該函式應執行所需的業務邏輯來確定分支,並返回以下之一: - 單個 task_id(字串型別) - 單個 task_group_id(字串型別) - 包含 task_id 和 task_group_id 組合的列表

運算子將繼續執行返回的 task_id(s) 和/或 task_group_id(s),而此運算子直接下游的所有其他任務都將被跳過。

inherits_from_skipmixin = True[原始碼]

用於確定運算子是否繼承自 SkipMixin 或其子類(例如 BranchMixin)。

abstract choose_branch(context)[原始碼]

用於選擇執行哪個分支的抽象方法。

子類應實現此方法,執行選擇分支所需的任何邏輯,並返回一個或多個 task_id 的列表。

引數:

context (airflow.sdk.definitions.context.Context) – 傳遞給 execute() 的上下文字典

execute(context)[原始碼]

建立運算子時推導。

Context 與渲染 jinja 模板時使用的字典相同。

有關更多上下文資訊,請參閱 get_template_context。

本條目有幫助嗎?