创建虚拟环境后,我们已在Linux环境中安装了airflow。它以root用户身份安装。所有安装的文件都是在具有root权限的情况下创建的。
在dag中,我们使用的是BashOperator,其中python脚本称为bash命令。该脚本应以其他用户“ ABC”的身份运行。我无法使用此用户触发气流。
运行dag时,默认情况下以root身份触发气流,这会导致python脚本以root身份运行,并且由于文件夹结构的权限问题,脚本失败。
气流不应以root身份触发。
我们不能使用root以外的用户来安装气流吗?请提出针对这种情况的最佳做法。
答案 0 :(得分:1)
您在这里有两个选择: 1 /与其他用户安装气流(建议) 2 /如果只想以不同的特定unix用户身份执行脚本,则BashOperator允许您使用参数“ run_as_user”进行操作:
t1 = BashOperator(task_id='create_dir', bash_command='mkdir /tmp/airflow_dir_test', dag=dag, run_as_user='user1')