Airflow 对象的气流分支错误不可编辑

Airflow 对象的气流分支错误不可编辑,airflow,Airflow,我正在尝试使BranchPythonOperator工作,但出现以下错误: “BigQueryInsertJobOperator”对象不可编辑 这是我的分行接线员: branching = BranchPythonOperator( task_id='branching', python_callable=return_branch, provide_context=True) 以下是我的Python可调用代码: def return_branc

我正在尝试使BranchPythonOperator工作,但出现以下错误:

“BigQueryInsertJobOperator”对象不可编辑

这是我的分行接线员:

branching = BranchPythonOperator(
        task_id='branching',
        python_callable=return_branch,
        provide_context=True)
以下是我的Python可调用代码:

def return_branch(ds, **kwargs):
    execution_year = kwargs['execution_date'].strftime("%Y")
    type = dataset_metadata[f'{execution_year}']['var']
    if type == 'foo':
        return x
    return y
x和y是BigQueryInsertJobOperator:

branching = BranchPythonOperator(
        task_id='branching',
        python_callable=return_branch,
        provide_context=True)
x = BigQueryInsertJobOperator(
    task_id='x',
    configuration={
        "query": {
            "query": "{% include 'q.sql' %}",
            "use_legacy_sql": False
            }
        },
    dag=dag)
我想提一下。您的方法
return\u branch
,不应返回运算符。它必须返回操作员的
任务id
。你会得到这样的结果:

def返回分支(ds,**kwargs): 下一个任务 返回下一个任务\u id 分支=BranchPythonOperator( task\u id=“选择查询”, python\u callable=返回\u分支, 提供上下文=True, ) 选项1=DummyOperator(任务id=“a”) 选项2=DummyOperator(任务id=“b”) 分支>>[选项1,选项2]
您在哪里定义
x
?在
return\u branch
?@lionbigcat内我已经编辑了我的问题,希望它更清晰。好的。谢谢我被搞糊涂了,因为我的任务和任务ID同名,我的分支没有返回字符串,而是返回操作符本身。