繁体   English   中英

使用从 POST Json 传递的 Kwargs 定义全局 Airflow 变量

Defining Global Airflow Variables Using Kwargs Passed From POST Json

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在创建一个 DAG,它需要使用从用于触发作业的 POST Json 传入的 kwargs 设置全局变量的功能。 到目前为止,我已经尝试过这种方式:

import airflow
from airflow import DAG
from datetime import timedelta

DAG_Name = 'dag_test'

DEFAULT_ARGS = {
    'owner': '...',
    'depends_on_past': False,
    'email': ['...'],
    'email_on_failure': True,
    'start_date': datetime(2020,8,31)
}

dag = DAG(DAG_Name, default_args=DEFAULT_ARGS, dagrun_timeout=timedelta(hours=2))

snap_date = ''
output_loc = ''
recast = ''

def define_param(**kwargs):
    global snap_date
    global output_loc
    global recast
    snapshot = str(kwargs['dag_run'].conf['snap_date'])
    output_s3 = kwargs['dag_run'].conf['output_loc']
    recast = str(kwargs['dag_run'].conf['recast'])


DEFINE_PARAMETERS = PythonOperator(
    task_id='DEFINE_PARAMETERS',
    python_callable=define_param,
    provide_context=True,
    dag=dag)

但这不起作用。 我将如何使用 kwargs 设置全局 dag 变量?

1 个回复

使用Variable.set因为它将对数据库进行实际更新,并在需要时为您处理 session 和序列化。

Variable.set("snap_date", "2019-09-17")

参考: https://github.com/apache/airflow/blob/1.10.1/airflow/models.py#L4558-L4569

4 定义全局变量

我正在尝试创建一个用户界面,用户可以在其中编辑实时流openCV应用程序的阈值。 运行此代码时,我收到一条错误消息,指出未定义全局变量“ slider”,而且我真的不明白为什么: ...

5 定义全局变量的AngularJ

在AngularJS定义全局变量的最佳方法是什么? 我知道有很多关于此主题的解决方案,这是最常见的: 使用服务; 使用$ rootScope; 我想要一个针对不同背景的答案。 例如: 一个用于多个服务中的多个请求的公共URL: my/folder/cl ...

6 定义全局变量[重复]

这个问题已经在这里有了答案: 为什么函数可以修改调用方认为的某些自变量,而不能修改其他自变量? 10个答案 我只是想知道,在Python 3,为什么有的全局变量必须被定义为global使用(即我们定义的)每燎功能,但其他人只需要定义一次? 可能是一个问题,因为我 ...

7 在php中定义全局变量

我正在使用Windows 7 Ultimate,SQL Server 2008 R2,php 5.2.6我是PHP的新手。 我有一个名为globalvars.php的文件,其中定义了全局变量。 globalvars.php 我也有一个名为database.php的文件,其中使用连 ...

8 引用使用argv []传递的全局变量

我定义了一些类型为int的全局变量,并且希望它们与命令行参数匹配,以避免使用strcmp的if语句无休止的链接。 例如,如果我定义了全局变量myvar ,并且用户键入myvar作为命令行参数,我希望能够引用myvar并使用argv[]对其执行操作。 能做到吗? 编辑我的问题只是为了使其 ...

2017-05-30 04:04:15 2 439   c/ argv
9 在MPI中定义全局变量

我在下面编写了示例代码: 可能已经注意到,该程序实际上定义了一个称为x的全局变量,第零线程尝试为其分配一些值。 当我在具有4个内核的SMP(对称多处理)计算机上运行该程序时,得到以下结果: 更有趣的是,当我更改代码以使每个线程都打印变量x(即&x)的地址时,它们都打印相同的内容 ...

2013-05-21 14:30:51 1 3146   c++/ c/ mpi
10 定义全局变量时遇到麻烦

我正在编写一个类,该类读取“结束”行之前的文件中的行数 但是,当我运行这段代码时,出现以下错误-NameError:未定义全局名称'txt' 我正在从Java转向python,因此,如果有任何风格上的差异,我深表歉意 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM