__dir__ con trăn

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_string
2 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_string
3 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_string
2 và
export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string
3 này

  • export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string
    
    6 trong phần
    export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string
    
    7

  • export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string
    
    8 trong phần
    export 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_string
2 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_string
3 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_string
6 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_conn
5

Ý 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

  1. đặ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]

  2. đặt làm biến môi trường lệnh [_______5_______7]

  3. đặt làm biến môi trường bí mật [_______5_______8]

  4. đặt trong airflow.cfg

  5. lệnh trong airflow.cfg

  6. khóa bí mật trong airflow.cfg

  7. 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_run
3

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_run
4 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ý

Chủ Đề