我真的是这个论坛的新手。但有一段时间,我一直在为我们公司玩气流。抱歉,如果这个问题听起来很愚蠢。
我正在使用一堆 BashOperators 编写一个管道。
基本上,对于每个任务,我想简单地使用“curl”调用 REST api
这就是我的管道的样子(非常简化的版本):
from airflow import DAG
from airflow.operators import BashOperator, PythonOperator
from dateutil import tz
import datetime
datetime_obj = datetime.datetime
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime.datetime.combine(datetime_obj.today() - datetime.timedelta(1), datetime_obj.min.time()),
'email': ['[email protected] /cdn-cgi/l/email-protection'],
'email_on_failure': True,
'email_on_retry': False,
'retries': 2,
'retry_delay': datetime.timedelta(minutes=5),
}
current_datetime = datetime_obj.now(tz=tz.tzlocal())
dag = DAG(
'test_run', default_args=default_args, schedule_interval=datetime.timedelta(minutes=60))
curl_cmd='curl -XPOST "'+hostname+':8000/run?st='+current_datetime +'"'
t1 = BashOperator(
task_id='rest-api-1',
bash_command=curl_cmd,
dag=dag)
如果你注意到我在做current_datetime= datetime_obj.now(tz=tz.tzlocal())
相反,我想要的是'执行日期'
我该如何使用'执行日期'直接并将其分配给我的 python 文件中的变量?
我遇到了访问参数的普遍问题。
任何帮助将不胜感激。
Thanks