Python 指定特定路径的操作器

Python 指定特定路径的操作器,python,bash,curl,airflow,string-interpolation,Python,Bash,Curl,Airflow,String Interpolation,在气流任务中,我想使用bash操作符调用CURL下载.csv。我想把它保存在一个特定的位置。这是一种合理的模式,还是有更好的方法(可能使用模板?) 然后在DAGwith语句中: t1 = BashOperator( task_id='task_1', bash_command=f"curl -X GET 'https://myurl.com/api.php?paramname=paramvalue' > {base_path / 'my_result.csv

在气流任务中,我想使用bash操作符调用
CURL
下载.csv。我想把它保存在一个特定的位置。这是一种合理的模式,还是有更好的方法(可能使用模板?)

然后在
DAG
with
语句中:

t1 = BashOperator(
        task_id='task_1',
        bash_command=f"curl -X GET 'https://myurl.com/api.php?paramname=paramvalue' > {base_path / 'my_result.csv'}"
        retries=2,
        retry_delay=timedelta(minutes=1))

我不知道更大的上下文是什么,但是有几个库可以用来获取URL的内容,而不必启动像
curl
@chepner-bash-libraries这样的外部程序?我需要这是一个气流操作员,以便下载.csv被安排为DAG的一部分。很乐意接受更好选择的建议。使用python操作符而不是bash操作符更好吗?不,是python库,比如
urllib
(内置)或
请求
(第三方)。对于这样的事情,没有必要花费精力去运行
curl
。@Dan我认为它只需要在PYTHONPATH上的某个地方。在聊天中可能需要问一些好问题:是否可以使用xcom_push=True的SimpleHttpOperator,然后使用PythonOperator来xcom提取值并将其保存到.csv文件中?我不知道xcom push是否在这个用例中工作,但如果它工作,我会说这将是一个好方法,因为它将使用专门用于该用例的操作符。
t1 = BashOperator(
        task_id='task_1',
        bash_command=f"curl -X GET 'https://myurl.com/api.php?paramname=paramvalue' > {base_path / 'my_result.csv'}"
        retries=2,
        retry_delay=timedelta(minutes=1))