修改 Airflow Composer 上 bash 文件的权限

Amending permissions to bash files on Airflow Composer

我们在 Google Cloud Composer 上 运行ning Airflow。

我有一个 bash 脚本正在我的 DAG 的 BashOperator 中调用:

split_files = BashOperator(
    task_id='split_gcp_files',
    bash_command='/home/airflow/gcs/dags/file_splitter.sh ',
    xcom_push=True,
    depends_on_past=True,
    dag=dag
)

当我 运行 然而,我得到以下错误:

[2021-06-17 18:24:13,330] {bash_operator.py:137} INFO - Temporary script location: /tmp/airflowtmp8dsdf38/split_gcp_filesah83sdf
[2021-06-17 18:24:13,330] {bash_operator.py:147} INFO - Running command: /home/airflow/gcs/dags/file_splitter.sh 
[2021-06-17 18:24:13,472] {bash_operator.py:154} INFO - Output:
[2021-06-17 18:24:13,475] {bash_operator.py:158} INFO - /tmp/airflowtmp8dsdf38/split_gcp_filesoofibpg7: line 1: /home/airflow/gcs/dags/file_splitter.sh: Permission denied

file_splitter.sh已经复制到一个GCS bucket,但是不知道Airflow修改权限的文件在哪里?例如。我在哪里可以找到“/home/airflow/gcs/dags/”?

我已经尝试通过 SSH 连接到 Kubernetes 节点,但找不到该路径或者我没有权限?

将 bash 命令更改为此有效,知道为什么吗?:

bash_command='bash /home/airflow/gcs/dags/file_splitter.sh '