airflow.models.xcom_arg
¶
Module Contents¶
-
class
airflow.models.xcom_arg.
XComArg
(operator: BaseOperator, key: str = XCOM_RETURN_KEY)[source]¶ Bases:
airflow.models.taskmixin.TaskMixin
Class that represents a XCom push from a previous operator. Defaults to "return_value" as only key.
- Current implementation supports
xcomarg >> op xcomarg << op op >> xcomarg (by BaseOperator code) op << xcomarg (by BaseOperator code)
Example: The moment you get a result from any operator (decorated or regular) you can
any_op = AnyOperator() xcomarg = XComArg(any_op) # or equivalently xcomarg = any_op.output my_op = MyOperator() my_op >> xcomarg
This object can be used in legacy Operators via Jinja.
Example: You can make this result to be part of any generated string
any_op = AnyOperator() xcomarg = any_op.output op1 = MyOperator(my_text_message=f"the value is {xcomarg}") op2 = MyOperator(my_text_message=f"the value is {xcomarg['topic']}")
- Parameters
operator (airflow.models.baseoperator.BaseOperator) -- operator to which the XComArg belongs to
key (str) -- key value which is used for xcom_pull (key in the XCom table)
-
__str__
(self)[source]¶ Backward compatibility for old-style jinja used in Airflow Operators
Example: to use XComArg at BashOperator:
BashOperator(cmd=f"... { xcomarg } ...")
- Returns
-
set_upstream
(self, task_or_task_list: Union[TaskMixin, Sequence[TaskMixin]], edge_modifier: Optional[EdgeModifier] = None)[source]¶ Proxy to underlying operator set_upstream method. Required by TaskMixin.