我曾经使用 python 运算符创建任务并在气流 1 中检索执行,如下所示
def task(**kwargs):
date = kwargs['execution_date']
Run Code Online (Sandbox Code Playgroud)
使用新的任务流 api 执行此操作的正确方法是什么?(可能错过了)
谢谢
您可以使用以下方法访问执行上下文get_current_context:
from airflow.decorators import task
from airflow.operators.python import get_current_context
@task
def my_task():
context = get_current_context()
ti = context["ti"]
date = context["execution_date"]
Run Code Online (Sandbox Code Playgroud)
文档在这里。试试看!
上面的代码工作得很好,但是,所谓的context对象,可以在任务装饰函数中直接访问。这意味着不再需要导入get_current_context。只需在任务签名中声明参数即可访问上下文对象:
@task
def my_task(ds=None, ti=None):
print(f"execution_date:{ds}")
print(f"task_instance:{ti}")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6753 次 |
| 最近记录: |