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。

本条目有帮助吗?