在DAG中添加标记

2024-09-30 09:23:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于更新python DAG文件的问题。 我有将近2000个DAG文件,我想在我的CI/CD管道上管理版本控制

我想要实现的是物理更新CI上的python文件,以便在将其发送到AIFLOW之前向DAG添加一个类似tags=['version:v1.0.0']的标记

DAG来自不同的开发人员,因此DAG定义并不总是相同的,我已经确定了多种声明方式,下面是一些示例:

  • 隐式dag_id:

    dag = DAG(
        'mydummydag',
        default_args=default_args,
        description='mydescription',
        schedule_interval=None,
        dagrun_timeout=timedelta(minutes=20))
    
  • 显式dag_id:

    dag = DAG(
        dag_id='mydummydag',
        default_args=default_args,
        description='mydescription',
        schedule_interval=None,
        dagrun_timeout=timedelta(minutes=20))
    
  • 某些标记已存在,但不是版本:

    dag = DAG(
            dag_id='mydummydag',
            default_args=default_args,
            description='mydescription',
            schedule_interval=None,
            tags=['mytag1','mytag2'],
            dagrun_timeout=timedelta(minutes=20))
    

  • 版本标记已存在,我们需要更新它:

     dag = DAG(
        dag_id='mydummydag',
        default_args=default_args,
        description='mydescription',
        schedule_interval=None,
        tags=['version:1.0.0','mytag2'],
            dagrun_timeout=timedelta(minutes=20))
    

DAG类的内容可以根据参数的顺序和使用完全随机(只要它们存在于类定义中)

更新版本号的过程已经在运行,因为我已经在我的repo中更新了一个版本文件。 我的问题只是关于python DAG文件,如果有人知道如何做到这一点

应该用bash或python完成,但我还没有完成


Tags: 文件noneiddefaulttimeoutargsdescriptiontimedelta

热门问题