在Airflow中,可以使用BashOperator来执行Shell脚本,并将参数传递给脚本。
以下是一个示例代码,演示如何在Airflow中传递参数给Shell脚本:
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime
default_args = {
'start_date': datetime(2021, 1, 1)
}
dag = DAG('shell_script_example', default_args=default_args, schedule_interval=None)
script_path = '/path/to/your/script.sh'
param1 = 'value1'
param2 = 'value2'
# 使用BashOperator执行Shell脚本,并将参数传递给脚本
task = BashOperator(
task_id='execute_script',
bash_command=f'{script_path} --param1 {param1} --param2 {param2}',
dag=dag
)
在上面的示例中,我们定义了一个DAG,并创建了一个BashOperator任务。在bash_command
中,我们将Shell脚本的路径和参数传递给了BashOperator
。参数通过--
标识传递给脚本,脚本可以通过$1
、$2
等来接收这些参数。
你可以根据自己的实际需求,修改script_path
、param1
和param2
的值。