Lần đầu tiên bạn chạy Airflow, nó sẽ tạo một tệp có tên là airflow.cfg
trong thư mục $AIRFLOW_HOME
của bạn [~/airflow
theo mặc định]. Tệp này chứa cấu hình của Airflow và bạn có thể chỉnh sửa nó để thay đổi bất kỳ cài đặt nào. Bạn cũng có thể đặt tùy chọn với các biến môi trường bằng cách sử dụng định dạng này. [lưu ý dấu gạch dưới kép]
Ví dụ: chuỗi kết nối cơ sở dữ liệu siêu dữ liệu có thể được đặt trong airflow.cfg
như thế này
[database] sql_alchemy_conn = my_conn_string
hoặc bằng cách tạo một biến môi trường tương ứng
export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string
Bạn cũng có thể lấy được chuỗi kết nối trong thời gian chạy bằng cách nối thêm
export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string2 vào khóa như thế này
[database] sql_alchemy_conn_cmd = bash_command_to_run
Bạn cũng có thể lấy được chuỗi kết nối trong thời gian chạy bằng cách nối thêm
export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string3 vào khóa như thế này
[database] sql_alchemy_conn_secret = sql_alchemy_conn # You can also add a nested path # example: # sql_alchemy_conn_secret = database/sql_alchemy_conn
Điều này sẽ truy xuất tùy chọn cấu hình từ Secret Backends e. g Hashicorp Vault. Xem để biết thêm chi tiết
Các tùy chọn cấu hình sau đây hỗ trợ phiên bản
export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string2 và
export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string3 này
export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string
6 trong phầnexport AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string
7export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string
8 trong phầnexport AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string
9[database] sql_alchemy_conn_cmd = bash_command_to_run
0 trong phần[database] sql_alchemy_conn_cmd = bash_command_to_run
1[database] sql_alchemy_conn_cmd = bash_command_to_run
2 trong phần[database] sql_alchemy_conn_cmd = bash_command_to_run
1[database] sql_alchemy_conn_cmd = bash_command_to_run
4 trong phần[database] sql_alchemy_conn_cmd = bash_command_to_run
1[database] sql_alchemy_conn_cmd = bash_command_to_run
6 trong phần[database] sql_alchemy_conn_cmd = bash_command_to_run
7[database] sql_alchemy_conn_cmd = bash_command_to_run
8 trong phần[database] sql_alchemy_conn_cmd = bash_command_to_run
9[database] sql_alchemy_conn_secret = sql_alchemy_conn # You can also add a nested path # example: # sql_alchemy_conn_secret = database/sql_alchemy_conn
0 trong phần[database] sql_alchemy_conn_secret = sql_alchemy_conn # You can also add a nested path # example: # sql_alchemy_conn_secret = database/sql_alchemy_conn
1
Các tùy chọn cấu hình
export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string2 cũng có thể được đặt bằng biến môi trường tương ứng giống như cách các tùy chọn cấu hình thông thường có thể. Ví dụ
export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN_CMD=bash_command_to_run
Tương tự, bạn cũng có thể đặt tùy chọn cấu hình
export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string3 bằng cách sử dụng biến môi trường tương ứng. Ví dụ
export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN_SECRET=sql_alchemy_conn
lớp
Các tùy chọn cấu hình phải tuân theo quy ước đặt tên tiền tố cấu hình được xác định trong chương trình phụ trợ bí mật. Điều này có nghĩa là
export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string6 không được xác định bằng tiền tố kết nối mà bằng tiền tố cấu hình. Ví dụ: nó nên được đặt tên là
[database] sql_alchemy_conn_secret = sql_alchemy_conn # You can also add a nested path # example: # sql_alchemy_conn_secret = database/sql_alchemy_conn5
Ý tưởng đằng sau điều này là không lưu trữ mật khẩu trên các hộp trong tệp văn bản thuần túy
Thứ tự ưu tiên chung cho tất cả các tùy chọn cấu hình như sau
đặt làm biến môi trường [
[database] sql_alchemy_conn_secret = sql_alchemy_conn # You can also add a nested path # example: # sql_alchemy_conn_secret = database/sql_alchemy_conn
6]đặt làm biến môi trường lệnh [_______5_______7]
đặt làm biến môi trường bí mật [_______5_______8]
đặt trong
airflow.cfg
lệnh trong
airflow.cfg
khóa bí mật trong
airflow.cfg
Luồng không khí được xây dựng trong mặc định
lớp
Đối với phiên bản Airflow >= 2. 2. 1, < 2. 3. 0 Mặc định tích hợp sẵn của Luồng khí được ưu tiên hơn lệnh và khóa bí mật trong airflow.cfg
trong một số trường hợp
Bạn có thể kiểm tra cấu hình hiện tại bằng lệnh
export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN_CMD=bash_command_to_run3
Nếu bạn chỉ muốn xem giá trị cho một tùy chọn, bạn có thể sử dụng lệnh
export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN_CMD=bash_command_to_run4 như trong ví dụ bên dưới
$ airflow config get-value core executor SequentialExecutor
lớp
Để biết thêm thông tin về các tùy chọn cấu hình, hãy xem Tham khảo cấu hình
lớp
Xem Quản lý mô-đun để biết chi tiết về cách Python và Airflow quản lý mô-đun.
lớp
Sử dụng cùng một cấu hình trên tất cả các thành phần Luồng khí. Mặc dù mỗi thành phần không yêu cầu tất cả, nhưng một số cấu hình cần phải giống nhau nếu không chúng sẽ không hoạt động như mong đợi. Một ví dụ điển hình cho điều đó là phải giống nhau trên Máy chủ web và Công nhân để cho phép Máy chủ web tìm nạp nhật ký từ Công nhân
Khóa máy chủ web cũng được sử dụng để ủy quyền các yêu cầu cho nhân viên Celery khi truy xuất nhật ký. Mặc dù vậy, mã thông báo được tạo bằng khóa bí mật có thời gian hết hạn ngắn - hãy đảm bảo rằng thời gian trên TẤT CẢ các máy mà bạn chạy các thành phần luồng khí được đồng bộ hóa [ví dụ: sử dụng ntpd], nếu không, bạn có thể gặp lỗi "bị cấm" khi truy cập nhật ký