目錄
命令列介面和環境變數參考¶
命令列介面¶
Airflow 具有非常豐富的命令列介面,允許對 DAG 進行多種類型的操作、啟動服務,並支援開發和測試。
注意
有關命令列介面使用的更多資訊,請參閱 使用命令列介面
實作 executors 的供應商可能會向命令列介面貢獻額外的命令。以下是社群供應商貢獻的命令
Celery Executor 和相關的命令列介面命令: Celery Executor 命令
Kubernetes Executor 和相關的命令列介面命令: Kubernetes Executor 命令
AWS 和相關的命令列介面命令: Amazon 命令列介面命令
users
和roles
命令列介面命令在 FAB 供應商文件中說明 FAB 命令列介面命令
Usage: airflow [-h] GROUP_OR_COMMAND ...
位置引數¶
- 群組或命令
可能選項:速查表、config、connections、dag-processor、dags、資料庫、info、internal-api、jobs、kerberos、plugins、pools、providers、roles、rotate-fernet-key、scheduler、standalone、sync-perm、tasks、triggerer、users、variables、version、webserver
子命令¶
config¶
檢視組態
airflow config [-h] COMMAND ...
位置引數¶
- 命令
可能選項:get-value、list
子命令¶
get-value¶
印出組態的值
airflow config get-value [-h] [-v] section option
- 區段名稱
區段名稱
- 選項名稱
選項名稱
- -v, --verbose
使記錄輸出更詳細
預設值:False
list¶
列出組態的選項
airflow config list [-h] [--color {on,off,auto}] [-c] [-a] [-p] [-d] [-V] [-e]
[-s] [--section SECTION] [-v]
- --color
可能選項:on, off, auto
是否發出彩色輸出 (預設值:auto)
預設值:“auto”
- -c, --comment-out-everything
註解掉所有組態選項。作為新安裝的起點很有用
預設值:False
- -a, --defaults
僅顯示預設值 - 不包含本機組態、來源、包含描述、範例、變數。註解掉所有內容。
預設值:False
- -p, --exclude-providers
排除供應商組態 (預設包含)
預設值:False
- -d, --include-descriptions
顯示組態變數的描述
預設值:False
- -V, --include-env-vars
顯示每個選項的環境變數
預設值:False
- -e, --include-examples
顯示組態變數的範例
預設值:False
- -s, --include-sources
顯示組態變數的來源
預設值:False
- --section
區段名稱
- -v, --verbose
使記錄輸出更詳細
預設值:False
connections¶
管理連線
airflow connections [-h] COMMAND ...
位置引數¶
- 命令
可能選項:add、create-default-connections、delete、export、get、import、list、test
子命令¶
add¶
新增連線
airflow connections add [-h] [--conn-description CONN_DESCRIPTION]
[--conn-extra CONN_EXTRA] [--conn-host CONN_HOST]
[--conn-json CONN_JSON] [--conn-login CONN_LOGIN]
[--conn-password CONN_PASSWORD]
[--conn-port CONN_PORT] [--conn-schema CONN_SCHEMA]
[--conn-type CONN_TYPE] [--conn-uri CONN_URI]
conn_id
- 連線 ID
連線 ID,取得/新增/刪除/測試連線時為必要
- --conn-description
連線描述,新增連線時為選填
- --conn-extra
連線 額外資訊 欄位,新增連線時為選填
- --conn-host
連線主機,新增連線時為選填
- --conn-json
連線 JSON,使用 JSON 表示法新增連線時為必要
- --conn-login
連線登入名稱,新增連線時為選填
- --conn-password
連線密碼,新增連線時為選填
- --conn-port
連線埠號,新增連線時為選填
- --conn-schema
連線結構描述,新增連線時為選填
- --conn-type
連線類型,在沒有 conn_uri 的情況下新增連線時為必要
- --conn-uri
連線 URI,在沒有 conn_type 的情況下新增連線時為必要
create-default-connections¶
從所有供應商建立所有預設連線
airflow connections create-default-connections [-h] [-v]
- -v, --verbose
使記錄輸出更詳細
預設值:False
delete¶
刪除連線
airflow connections delete [-h] [--color {on,off,auto}] [-v] conn_id
- 連線 ID
連線 ID,取得/新增/刪除/測試連線時為必要
- --color
可能選項:on, off, auto
是否發出彩色輸出 (預設值:auto)
預設值:“auto”
- -v, --verbose
使記錄輸出更詳細
預設值:False
export¶
可以使用以下命令在 STDOUT 中匯出所有連線:airflow connections export - 檔案格式可以由提供的檔案副檔名決定。例如,以下命令將以 JSON 格式匯出連線:airflow connections export /tmp/connections.json 可以使用 –file-format 參數來控制檔案格式。例如,預設格式是 STDOUT 模式下的 JSON,可以使用以下命令覆寫:airflow connections export - –file-format yaml –file-format 參數也可用於檔案,例如:airflow connections export /tmp/connections –file-format json。以 env 檔案格式匯出時,您可以透過傳遞 uri 或 json 以及 –serialization-format 選項來控制連線應該使用 URI 格式還是 JSON 格式序列化。
airflow connections export [-h] [--file-format {json,yaml,env}]
[--format {json,yaml,env}]
[--serialization-format {json,uri}] [-v]
file
- 檔案
匯出連線的輸出檔案路徑
- --file-format
可能選項:json, yaml, env
匯出的檔案格式
- --format
可能選項:json, yaml, env
已棄用 – 請改用 –file-format。用於匯出的檔案格式。
- --serialization-format
可能選項:json, uri
以 .env 格式匯出時,定義連線應如何序列化。預設值為 uri。
- -v, --verbose
使記錄輸出更詳細
預設值:False
get¶
取得連線
airflow connections get [-h] [--color {on,off,auto}]
[-o table, json, yaml, plain] [-v]
conn_id
- 連線 ID
連線 ID,取得/新增/刪除/測試連線時為必要
- --color
可能選項:on, off, auto
是否發出彩色輸出 (預設值:auto)
預設值:“auto”
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
import¶
可以從 export 命令的輸出匯入連線。檔案類型必須為 json、yaml 或 env,並且將自動推斷。
airflow connections import [-h] [--overwrite] [-v] file
- 檔案
從檔案匯入連線
- --overwrite
如果發生衝突,覆寫現有項目
預設值:False
- -v, --verbose
使記錄輸出更詳細
預設值:False
dag-processor¶
啟動獨立的 Dag Processor 實例
airflow dag-processor [-h] [-D] [-p] [-l LOG_FILE] [-n NUM_RUNS] [--pid [PID]]
[--stderr STDERR] [--stdout STDOUT] [-S SUBDIR] [-v]
具名引數¶
- -D, --daemon
以後台常駐程式執行,而不是在前台執行
預設值:False
- -p, --do-pickle
嘗試 pickle DAG 物件以傳送給 workers,而不是讓 workers 執行他們版本的程式碼
預設值:False
- -l, --log-file
記錄檔的位置
- -n, --num-runs
設定在退出前要執行的次數
預設值:-1
- --pid
PID 檔案位置
- --stderr
將 stderr 重導向到此檔案
- --stdout
將 stdout 重導向到此檔案
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -v, --verbose
使記錄輸出更詳細
預設值:False
dags¶
管理 DAG
airflow dags [-h] COMMAND ...
位置引數¶
- 命令
可能選項:backfill、delete、details、list、list-import-errors、list-jobs、list-runs、next-execution、pause、report、reserialize、show、show-dependencies、state、test、trigger、unpause
子命令¶
backfill¶
在指定的日期範圍內執行 DAG 的子區段。如果使用 reset_dag_run 選項,backfill 將首先提示使用者是否應清除 backfill 日期範圍內的所有先前 dag_run 和 task_instances。如果使用 rerun_failed_tasks,backfill 將自動重新執行 backfill 日期範圍內先前失敗的 task instances
airflow dags backfill [-h] [-c CONF] [--continue-on-failures]
[--delay-on-limit DELAY_ON_LIMIT] [--disable-retry] [-x]
[-n] [-e END_DATE] [-i] [-I] [-l] [-m] [--pool POOL]
[--rerun-failed-tasks] [--reset-dagruns] [-B]
[-s START_DATE] [-S SUBDIR] [-t TASK_REGEX]
[--treat-dag-as-regex] [--treat-dag-id-as-regex] [-v]
[-y]
dag_id
- dag_id
dag 的 ID
- -c, --conf
將被 pickle 到 DagRun 的 conf 屬性中的 JSON 字串
- --continue-on-failures
如果設定,即使某些任務失敗,backfill 也會繼續進行
預設值:False
- --delay-on-limit
當達到最大活動 DAG 執行次數 (max_active_runs) 的限制時,在嘗試再次執行 DAG 執行之前要等待的時間量 (秒)
預設值:1.0
- --disable-retry
如果設定,backfill 會將任務設定為失敗,而不重試。
預設值:False
- -x, --donot-pickle
不要嘗試 pickle DAG 物件以傳送給 workers,只需告訴 workers 執行他們版本的程式碼
預設值:False
- -n, --dry-run
對每個任務執行 dry run。僅呈現每個任務的範本欄位,沒有其他動作
預設值:False
- -e, --end-date
覆寫結束日期 YYYY-MM-DD
- -i, --ignore-dependencies
跳過上游任務,僅執行與 regexp 相符的任務。僅與 task_regex 結合使用才有效
預設值:False
- -I, --ignore-first-depends-on-past
僅針對第一組任務忽略 depends_on_past 相依性 (backfill 中的後續執行會遵守 depends_on_past)
預設值:False
- -l, --local
使用 LocalExecutor 執行任務
預設值:False
- -m, --mark-success
將任務標記為成功,而不執行它們
預設值:False
- --pool
要使用的資源池
- --rerun-failed-tasks
如果設定,backfill 將自動重新執行 backfill 日期範圍內所有失敗的任務,而不是拋出例外
預設值:False
- --reset-dagruns
如果設定,backfill 將刪除現有的 backfill 相關 DAG 執行,並以全新的執行中 DAG 執行重新開始
預設值:False
- -B, --run-backwards
如果設定,backfill 將首先從最近的一天開始執行任務。如果存在 depend_on_past 的任務,此選項將拋出例外
預設值:False
- -s, --start-date
覆寫開始日期 YYYY-MM-DD
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -t, --task-regex
用於篩選特定 task_ids 的 regex (選填)
- --treat-dag-as-regex
已棄用 – 請改用 –treat-dag-id-as-regex
預設值:False
- --treat-dag-id-as-regex
如果設定,dag_id 將被視為 regex 而不是確切的字串
預設值:False
- -v, --verbose
使記錄輸出更詳細
預設值:False
- -y, --yes
不要提示確認。謹慎使用!
預設值:False
delete¶
刪除與指定 DAG 相關的所有資料庫記錄
airflow dags delete [-h] [-v] [-y] dag_id
- dag_id
dag 的 ID
- -v, --verbose
使記錄輸出更詳細
預設值:False
- -y, --yes
不要提示確認。謹慎使用!
預設值:False
details¶
取得指定 DAG ID 的 DAG 詳細資訊
airflow dags details [-h] [-o table, json, yaml, plain] [-v] dag_id
- dag_id
dag 的 ID
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
list¶
列出所有 DAG
airflow dags list [-h] [--columns COLUMNS] [-o table, json, yaml, plain]
[-S SUBDIR] [-v]
- --columns
要呈現的欄位清單。(預設值:[‘dag_id’, ‘fileloc’, ‘owner’, ‘is_paused’])
預設值:(‘dag_id’, ‘fileloc’, ‘owners’, ‘is_paused’)
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -v, --verbose
使記錄輸出更詳細
預設值:False
list-import-errors¶
列出所有具有匯入錯誤的 DAG
airflow dags list-import-errors [-h] [-o table, json, yaml, plain] [-S SUBDIR]
[-v]
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -v, --verbose
使記錄輸出更詳細
預設值:False
list-jobs¶
列出任務
airflow dags list-jobs [-h] [-d DAG_ID] [--limit LIMIT]
[-o table, json, yaml, plain]
[--state running, success, restarting, failed] [-v]
- -d, --dag-id
dag 的 ID
- --limit
傳回有限數量的記錄
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- --state
可能選項:running, success, restarting, failed
僅列出與狀態對應的任務
- -v, --verbose
使記錄輸出更詳細
預設值:False
list-runs¶
列出指定 DAG ID 的 DAG 執行。如果指定 state 選項,則僅搜尋具有指定狀態的所有 dagruns。如果指定 no_backfill 選項,則會篩選掉指定 DAG ID 的所有 backfill dagruns。如果指定 start_date,則會篩選掉在此日期之前執行的所有 dagruns。如果指定 end_date,則會篩選掉在此日期之後執行的所有 dagruns。
airflow dags list-runs [-h] -d DAG_ID [-e END_DATE] [--no-backfill]
[-o table, json, yaml, plain] [-s START_DATE]
[--state queued, running, success, failed] [-v]
- -d, --dag-id
dag 的 ID
- -e, --end-date
覆寫結束日期 YYYY-MM-DD
- --no-backfill
篩選給定 DAG ID 的所有 backfill dagruns
預設值:False
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -s, --start-date
覆寫開始日期 YYYY-MM-DD
- --state
可能選項:queued, running, success, failed
僅列出與狀態對應的 DAG 執行
- -v, --verbose
使記錄輸出更詳細
預設值:False
next-execution¶
取得 DAG 的下一次執行日期時間。除非指定 num-executions 選項,否則它會傳回一次執行
airflow dags next-execution [-h] [-n NUM_EXECUTIONS] [-S SUBDIR] [-v] dag_id
- dag_id
dag 的 ID
- -n, --num-executions
要顯示的下一次執行日期時間的數量
預設值:1
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -v, --verbose
使記錄輸出更詳細
預設值:False
pause¶
暫停一個或多個 DAG。此命令允許停止指定 DAG 的執行,停用進一步的任務排程。使用 –treat-dag-id-as-regex 以透過將 –dag-id 視為 regex 模式來鎖定多個 DAG。
airflow dags pause [-h] [-o table, json, yaml, plain] [-S SUBDIR]
[--treat-dag-id-as-regex] [-v] [-y]
dag_id
- dag_id
dag 的 ID
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- --treat-dag-id-as-regex
如果設定,dag_id 將被視為 regex 而不是確切的字串
預設值:False
- -v, --verbose
使記錄輸出更詳細
預設值:False
- -y, --yes
不要提示確認。謹慎使用!
預設值:False
report¶
顯示 DagBag 載入報告
airflow dags report [-h] [-o table, json, yaml, plain] [-S SUBDIR] [-v]
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -v, --verbose
使記錄輸出更詳細
預設值:False
reserialize¶
從元數據資料庫中刪除所有序列化的 DAG。這將導致所有 DAG 從 DagBag 資料夾重新序列化。如果您的序列化 DAG 與您正在運行的 Airflow 版本不同步,這可能會很有用。
airflow dags reserialize [-h] [--clear-only] [-S SUBDIR] [-v]
- --clear-only
如果傳遞,將清除序列化的 DAG,但不重新序列化。
預設值:False
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -v, --verbose
使記錄輸出更詳細
預設值:False
show¶
–imgcat 選項僅適用於 iTerm。
如需更多資訊,請參閱:https://www.iterm2.com/documentation-images.html
–save 選項將結果儲存到指示的檔案。
檔案格式由檔案副檔名決定。如需有關支援格式的更多資訊,請參閱:https://graphviz.dev.org.tw/doc/info/output.html
如果您想建立 PNG 檔案,則應執行以下命令:airflow dags show <DAG_ID> –save output.png
如果您想建立 DOT 檔案,則應執行以下命令:airflow dags show <DAG_ID> –save output.dot
airflow dags show [-h] [--imgcat] [-s SAVE] [-S SUBDIR] [-v] dag_id
- dag_id
dag 的 ID
- --imgcat
使用 imgcat 工具顯示圖形。
預設值:False
- -s, --save
將結果儲存到指示的檔案。
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -v, --verbose
使記錄輸出更詳細
預設值:False
show-dependencies¶
–imgcat 選項僅適用於 iTerm。
如需更多資訊,請參閱:https://www.iterm2.com/documentation-images.html
–save 選項將結果儲存到指示的檔案。
檔案格式由檔案副檔名決定。如需有關支援格式的更多資訊,請參閱:https://graphviz.dev.org.tw/doc/info/output.html
如果您想建立 PNG 檔案,則應執行以下命令:airflow dags show-dependencies –save output.png
如果您想建立 DOT 檔案,則應執行以下命令:airflow dags show-dependencies –save output.dot
airflow dags show-dependencies [-h] [--imgcat] [-s SAVE] [-S SUBDIR] [-v]
- --imgcat
使用 imgcat 工具顯示圖形。
預設值:False
- -s, --save
將結果儲存到指示的檔案。
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -v, --verbose
使記錄輸出更詳細
預設值:False
state¶
取得 dag 執行的狀態
airflow dags state [-h] [-S SUBDIR] [-v] dag_id execution_date
- dag_id
dag 的 ID
- execution_date
DAG 的執行日期
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -v, --verbose
使記錄輸出更詳細
預設值:False
test¶
針對給定的 DAG 和執行日期執行單個 DagRun。
–imgcat-dagrun 選項僅適用於 iTerm。
如需更多資訊,請參閱:https://www.iterm2.com/documentation-images.html
如果使用 –save-dagrun,則在完成 backfill 後,將目前 DAG 執行的圖表儲存到指示的檔案。檔案格式由檔案副檔名決定。如需有關支援格式的更多資訊,請參閱:https://graphviz.dev.org.tw/doc/info/output.html
如果您想建立 PNG 檔案,則應執行以下命令:airflow dags test <DAG_ID> <EXECUTION_DATE> –save-dagrun output.png
如果您想建立 DOT 檔案,則應執行以下命令:airflow dags test <DAG_ID> <EXECUTION_DATE> –save-dagrun output.dot
airflow dags test [-h] [-c CONF] [--imgcat-dagrun]
[--mark-success-pattern MARK_SUCCESS_PATTERN]
[--save-dagrun SAVE_DAGRUN] [--show-dagrun] [-S SUBDIR]
[--use-executor] [-v]
dag_id [execution_date]
- dag_id
dag 的 ID
- execution_date
DAG 的執行日期 (選填)
- -c, --conf
將被 pickle 到 DagRun 的 conf 屬性中的 JSON 字串
- --imgcat-dagrun
完成 dag 執行後,使用 imgcat 工具在螢幕上印出目前 DAG 執行的圖表。
預設值:False
- --mark-success-pattern
不要執行與 regex <MARK_SUCCESS_PATTERN> 相符的 task_ids,而是將它們標記為成功。可用於跳過本機測試中的相依性檢查感測器或清理步驟等。
- --save-dagrun
完成 backfill 後,將目前 DAG 執行的圖表儲存到指示的檔案。
- --show-dagrun
完成 backfill 後,顯示目前 DAG 執行的圖表。
圖表採用 DOT 語言
預設值:False
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- --use-executor
使用 executor 測試 DAG。預設情況下,它在沒有 executor 的情況下執行 DAG。如果設定,它會使用環境中設定的 executor。
預設值:False
- -v, --verbose
使記錄輸出更詳細
預設值:False
trigger¶
觸發新的 DAG 執行。如果 DAG 已暫停,則 dagrun 狀態將保持排隊中,且任務不會執行。
airflow dags trigger [-h] [-c CONF] [-e EXEC_DATE] [--no-replace-microseconds]
[-o table, json, yaml, plain] [-r RUN_ID] [-S SUBDIR]
[-v]
dag_id
- dag_id
dag 的 ID
- -c, --conf
將被 pickle 到 DagRun 的 conf 屬性中的 JSON 字串
- -e, --exec-date
DAG 的執行日期
- --no-replace-microseconds
是否應將微秒歸零
預設值:True
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -r, --run-id
有助於識別此執行
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -v, --verbose
使記錄輸出更詳細
預設值:False
unpause¶
恢復一個或多個 DAG。此命令允許恢復指定 DAG 的執行,啟用進一步的任務排程。使用 –treat-dag-id-as-regex 以透過將 –dag-id 視為 regex 模式來鎖定多個 DAG。
airflow dags unpause [-h] [-o table, json, yaml, plain] [-S SUBDIR]
[--treat-dag-id-as-regex] [-v] [-y]
dag_id
- dag_id
dag 的 ID
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- --treat-dag-id-as-regex
如果設定,dag_id 將被視為 regex 而不是確切的字串
預設值:False
- -v, --verbose
使記錄輸出更詳細
預設值:False
- -y, --yes
不要提示確認。謹慎使用!
預設值:False
資料庫¶
資料庫操作
airflow db [-h] COMMAND ...
位置引數¶
- 命令
可能選項:check, check-migrations, clean, downgrade, drop-archived, export-archived, init, migrate, reset, shell, upgrade
子命令¶
check¶
檢查是否可以連線到資料庫
airflow db check [-h] [--retry RETRY] [--retry-delay RETRY_DELAY] [-v]
- --retry
資料庫檢查失敗時重試
預設值:0
- --retry-delay
重試之間的等待時間 (秒)
預設值:1
- -v, --verbose
使記錄輸出更詳細
預設值:False
check-migrations¶
檢查遷移是否已完成 (或持續檢查直到逾時)
airflow db check-migrations [-h] [-t MIGRATION_WAIT_TIMEOUT] [-v]
- -t, --migration-wait-timeout
等待資料庫遷移的逾時時間
預設值:60
- -v, --verbose
使記錄輸出更詳細
預設值:False
clean¶
清除 metastore 表格中的舊記錄
airflow db clean [-h] --clean-before-timestamp CLEAN_BEFORE_TIMESTAMP
[--dry-run] [--skip-archive] [-t TABLES] [-v] [-y]
- --clean-before-timestamp
應清除資料之前的日期或時間戳記。如果未提供時區資訊,則日期將假定為 Airflow 預設時區。範例:‘2022-01-01 00:00:00+01:00’
- --dry-run
執行 dry run
預設值:False
- --skip-archive
不要在封存表格中保留已清除的記錄。
預設值:False
- -t, --tables
要執行維護的表格名稱 (使用逗號分隔清單)。選項:[‘callback_request’, ‘celery_taskmeta’, ‘celery_tasksetmeta’, ‘dag’, ‘dag_run’, ‘dataset_event’, ‘import_error’, ‘job’, ‘log’, ‘session’, ‘sla_miss’, ‘task_fail’, ‘task_instance’, ‘task_instance_history’, ‘task_reschedule’, ‘trigger’, ‘xcom’]
- -v, --verbose
使記錄輸出更詳細
預設值:False
- -y, --yes
不要提示確認。謹慎使用!
預設值:False
downgrade¶
降級元數據資料庫的結構描述。您必須提供 –to-revision 或 –to-version。若要列印但不執行命令,請使用 –show-sql-only 選項。如果使用 –from-revision 或 –from-version 選項,您也必須使用 –show-sql-only,因為如果實際執行遷移,我們應該僅從目前的 Alembic 修訂版本進行遷移。
airflow db downgrade [-h] [--from-revision FROM_REVISION]
[--from-version FROM_VERSION] [-s] [-r TO_REVISION]
[-n TO_VERSION] [-v] [-y]
- --from-revision
(選填) 如果產生 sql,可能會提供 from Alembic 修訂版本
- --from-version
(選填) 如果產生 sql,可能會提供 from 版本
- -s, --show-sql-only
實際上不執行遷移;僅印出用於離線遷移的 sql 腳本。如果使用 –from-revision 或 –from-version,則為必要。
預設值:False
- -r, --to-revision
要降級到的 Alembic 修訂版本。注意:必須提供 –to-revision 或 –to-version。
- -n, --to-version
(選填) 如果提供,則僅執行遷移到此版本。
- -v, --verbose
使記錄輸出更詳細
預設值:False
- -y, --yes
不要提示確認。謹慎使用!
預設值:False
drop-archived¶
刪除透過資料庫 clean 命令建立的封存表格
airflow db drop-archived [-h] [-t TABLES] [-y]
- -t, --tables
要執行維護的表格名稱 (使用逗號分隔清單)。選項:[‘callback_request’, ‘celery_taskmeta’, ‘celery_tasksetmeta’, ‘dag’, ‘dag_run’, ‘dataset_event’, ‘import_error’, ‘job’, ‘log’, ‘session’, ‘sla_miss’, ‘task_fail’, ‘task_instance’, ‘task_instance_history’, ‘task_reschedule’, ‘trigger’, ‘xcom’]
- -y, --yes
不要提示確認。謹慎使用!
預設值:False
export-archived¶
從封存表格匯出封存資料
airflow db export-archived [-h] [--drop-archives] [--export-format {csv}]
--output-path DIRPATH [-t TABLES] [-y]
- --drop-archives
匯出後刪除封存表格。謹慎使用。
預設值:False
- --export-format
可能選項:csv
用於匯出已清理資料的檔案格式
預設值:“csv”
- --output-path
用於匯出已清理資料的輸出目錄路徑。此目錄必須存在。
- -t, --tables
要執行維護的表格名稱 (使用逗號分隔清單)。選項:[‘callback_request’, ‘celery_taskmeta’, ‘celery_tasksetmeta’, ‘dag’, ‘dag_run’, ‘dataset_event’, ‘import_error’, ‘job’, ‘log’, ‘session’, ‘sla_miss’, ‘task_fail’, ‘task_instance’, ‘task_instance_history’, ‘task_reschedule’, ‘trigger’, ‘xcom’]
- -y, --yes
不要提示確認。謹慎使用!
預設值:False
migrate¶
遷移元數據資料庫的結構描述。如果資料庫不存在,則建立資料庫。若要列印但不執行命令,請使用 --show-sql-only
選項。如果使用 --from-revision
或 --from-version
選項,您也必須使用 --show-sql-only
,因為如果實際執行遷移,我們應該僅從目前的 Alembic 修訂版本進行遷移。
airflow db migrate [-h] [--from-revision FROM_REVISION]
[--from-version FROM_VERSION] [-s] [-r TO_REVISION]
[-n TO_VERSION] [-m] [-v]
- --from-revision
(選填) 如果產生 sql,可能會提供 from Alembic 修訂版本
- --from-version
(選填) 如果產生 sql,可能會提供 from 版本
- -s, --show-sql-only
實際上不執行遷移;僅印出用於離線遷移的 sql 腳本。如果使用 –from-revision 或 –from-version,則為必要。
預設值:False
- -r, --to-revision
(選填) 如果提供,則僅執行遷移到包含此 Alembic 修訂版本。
- -n, --to-version
(選填) 要升級到的 Airflow 版本。注意:必須提供 –to-revision 或 –to-version。
- -m, --use-migration-files
使用遷移檔案執行遷移
預設值:False
- -v, --verbose
使記錄輸出更詳細
預設值:False
reset¶
摧毀並重建元數據資料庫
airflow db reset [-h] [-s] [-m] [-v] [-y]
- -s, --skip-init
僅移除表格;不執行資料庫初始化。
預設值:False
- -m, --use-migration-files
使用遷移檔案執行遷移
預設值:False
- -v, --verbose
使記錄輸出更詳細
預設值:False
- -y, --yes
不要提示確認。謹慎使用!
預設值:False
upgrade¶
未記錄
airflow db upgrade [-h] [--from-revision FROM_REVISION]
[--from-version FROM_VERSION] [-s] [-r TO_REVISION]
[-n TO_VERSION] [-m] [-v]
- --from-revision
(選填) 如果產生 sql,可能會提供 from Alembic 修訂版本
- --from-version
(選填) 如果產生 sql,可能會提供 from 版本
- -s, --show-sql-only
實際上不執行遷移;僅印出用於離線遷移的 sql 腳本。如果使用 –from-revision 或 –from-version,則為必要。
預設值:False
- -r, --to-revision
(選填) 如果提供,則僅執行遷移到包含此 Alembic 修訂版本。
- -n, --to-version
(選填) 要升級到的 Airflow 版本。注意:必須提供 –to-revision 或 –to-version。
- -m, --use-migration-files
使用遷移檔案執行遷移
預設值:False
- -v, --verbose
使記錄輸出更詳細
預設值:False
info¶
顯示有關目前 Airflow 和環境的資訊
airflow info [-h] [--anonymize] [--file-io] [-o table, json, yaml, plain] [-v]
具名引數¶
- --anonymize
最小化任何個人身分識別資訊。與他人分享輸出時使用。
預設值:False
- --file-io
將輸出傳送到 file.io 服務並傳回連結。
預設值:False
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
internal-api¶
啟動 Airflow 內部 API 實例
airflow internal-api [-h] [-A ACCESS_LOGFILE] [-L ACCESS_LOGFORMAT] [-D] [-d]
[-E ERROR_LOGFILE] [-H HOSTNAME] [-l LOG_FILE]
[--pid [PID]] [-p PORT] [--ssl-cert SSL_CERT]
[--ssl-key SSL_KEY] [--stderr STDERR] [--stdout STDOUT]
[-t WORKER_TIMEOUT] [-k {sync,eventlet,gevent,tornado}]
[-w WORKERS]
具名引數¶
- -A, --access-logfile
用於儲存存取記錄的記錄檔。使用 ‘-‘ 以列印到 stdout
- -L, --access-logformat
gunicorn 記錄的存取記錄格式
- -D, --daemon
以後台常駐程式執行,而不是在前台執行
預設值:False
- -d, --debug
在偵錯模式下使用 Flask 隨附的伺服器
預設值:False
- -E, --error-logfile
用於儲存錯誤記錄的記錄檔。使用 ‘-‘ 以列印到 stderr
- -H, --hostname
設定要在其上執行網頁伺服器的主機名稱
預設值:“0.0.0.0”
- -l, --log-file
記錄檔的位置
- --pid
PID 檔案位置
- -p, --port
要在其上執行伺服器的埠號
預設值:9080
- --ssl-cert
Web 伺服器的 SSL 憑證路徑
預設值:“”
- --ssl-key
搭配 SSL 憑證使用的金鑰路徑
預設值:“”
- --stderr
將 stderr 重導向到此檔案
- --stdout
將 stdout 重導向到此檔案
- -t, --worker-timeout
等待內部 API 工作程序的逾時時間
預設值:120
- -k, --workerclass
可選選項:sync、eventlet、gevent、tornado
用於 Gunicorn 的工作程序類別
預設值:“sync”
- -w, --workers
執行內部 API-on 的工作程序數量
預設值:4
jobs¶
管理任務
airflow jobs [-h] COMMAND ...
位置引數¶
- 命令
可選選項:check
子命令¶
check¶
檢查任務是否仍在執行
airflow jobs check [-h] [--allow-multiple] [--hostname HOSTNAME]
[--job-type {BackfillJob,LocalTaskJob,SchedulerJob,TriggererJob,DagProcessorJob}]
[--limit LIMIT] [--local] [-v]
- --allow-multiple
如果傳遞此引數,即使找到多個符合條件且仍在執行的任務,此命令仍會成功。
預設值:False
- --hostname
將要檢查的任務的主機名稱。
- --job-type
可選選項:BackfillJob、LocalTaskJob、SchedulerJob、TriggererJob、DagProcessorJob
將要檢查的任務類型。
- --limit
將要檢查的最近任務數量。若要停用限制,請設為 0。
預設值:1
- --local
如果傳遞此引數,此命令將僅顯示來自本機主機的任務(主機名稱與 hostname_callable 傳回值相符的任務)。
預設值:False
- -v, --verbose
使記錄輸出更詳細
預設值:False
範例:若要檢查本機排程器是否仍在正常運作,請執行
$ airflow jobs check –job-type SchedulerJob –local”
若要檢查當您使用高可用性時是否有任何排程器正在執行,請執行
$ airflow jobs check –job-type SchedulerJob –allow-multiple –limit 100
kerberos¶
啟動 Kerberos 票證更新器
airflow kerberos [-h] [-D] [-k [KEYTAB]] [-l LOG_FILE] [-o] [--pid [PID]]
[--stderr STDERR] [--stdout STDOUT] [-v]
[principal]
位置引數¶
- principal
Kerberos 主體
命名引數¶
- -D, --daemon
以後台常駐程式執行,而不是在前台執行
預設值:False
- -k, --keytab
keytab
預設值:“airflow.keytab”
- -l, --log-file
記錄檔的位置
- -o, --one-time
執行一次 Airflow Kerberos,而非永久執行
預設值:False
- --pid
PID 檔案位置
- --stderr
將 stderr 重導向到此檔案
- --stdout
將 stdout 重導向到此檔案
- -v, --verbose
使記錄輸出更詳細
預設值:False
plugins¶
傾印有關已載入外掛程式的資訊
airflow plugins [-h] [-o table, json, yaml, plain] [-v]
命名引數¶
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
pools¶
管理池
airflow pools [-h] COMMAND ...
位置引數¶
- 命令
可選選項:delete、export、get、import、list、set
子命令¶
delete¶
刪除池
airflow pools delete [-h] [-o table, json, yaml, plain] [-v] NAME
- NAME
池名稱
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
export¶
匯出所有池
airflow pools export [-h] [-v] FILEPATH
- FILEPATH
將所有池匯出至 JSON 檔案
- -v, --verbose
使記錄輸出更詳細
預設值:False
get¶
取得池大小
airflow pools get [-h] [-o table, json, yaml, plain] [-v] NAME
- NAME
池名稱
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
import¶
匯入池
airflow pools import [-h] [-v] FILEPATH
- FILEPATH
從 JSON 檔案匯入池。範例格式
{ "pool_1": {"slots": 5, "description": "", "include_deferred": true}, "pool_2": {"slots": 10, "description": "test", "include_deferred": false} }
- -v, --verbose
使記錄輸出更詳細
預設值:False
list¶
列出池
airflow pools list [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
set¶
設定池
airflow pools set [-h] [--include-deferred] [-o table, json, yaml, plain] [-v]
NAME slots description
- NAME
池名稱
- slots
池插槽
- description
池描述
- --include-deferred
在池的計算中包含延遲任務
預設值:False
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
providers¶
顯示供應商
airflow providers [-h] COMMAND ...
位置引數¶
- 命令
可選選項:auth、auth-managers、behaviours、configs、executors、get、hooks、lazy-loaded、links、list、logging、notifications、secrets、triggers、widgets
子命令¶
auth¶
取得有關已提供的 API 驗證後端的資訊
airflow providers auth [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
auth-managers¶
取得有關已提供的驗證管理員的資訊
airflow providers auth-managers [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
behaviours¶
取得有關具有自訂行為的已註冊連線類型的資訊
airflow providers behaviours [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
configs¶
取得有關供應商組態的資訊
airflow providers configs [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
executors¶
取得有關已提供的執行器的資訊
airflow providers executors [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
get¶
取得有關供應商的詳細資訊
airflow providers get [-h] [--color {on,off,auto}] [-f]
[-o table, json, yaml, plain] [-v]
provider_name
- provider_name
供應商名稱,取得供應商資訊時為必要項目
- --color
可能選項:on, off, auto
是否發出彩色輸出 (預設值:auto)
預設值:“auto”
- -f, --full
有關供應商的完整資訊,包括文件資訊。
預設值:False
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
hooks¶
列出已註冊的供應商 Hook
airflow providers hooks [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
lazy-loaded¶
檢查供應商組態是否為延遲載入
airflow providers lazy-loaded [-h] [-v]
- -v, --verbose
使記錄輸出更詳細
預設值:False
links¶
列出由供應商註冊的額外連結
airflow providers links [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
list¶
列出已安裝的供應商
airflow providers list [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
logging¶
取得有關已提供的任務記錄處理常式的資訊
airflow providers logging [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
notifications¶
取得有關已提供的通知的資訊
airflow providers notifications [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
secrets¶
取得有關已提供的密鑰後端的資訊
airflow providers secrets [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
roles¶
管理角色
airflow roles [-h] COMMAND ...
位置引數¶
- 命令
可選選項:add-perms、create、del-perms、delete、export、import、list
子命令¶
add-perms¶
新增角色權限
airflow roles add-perms [-h] -a [ACTION [ACTION ...]] -r
[RESOURCE [RESOURCE ...]] [-v]
[role [role ...]]
- role
角色名稱
- -a, --action
權限動作
- -r, --resource
權限名稱
- -v, --verbose
使記錄輸出更詳細
預設值:False
create¶
建立角色
airflow roles create [-h] [-v] [role [role ...]]
- role
角色名稱
- -v, --verbose
使記錄輸出更詳細
預設值:False
del-perms¶
刪除角色權限
airflow roles del-perms [-h] [-a [ACTION [ACTION ...]]] -r
[RESOURCE [RESOURCE ...]] [-v]
[role [role ...]]
- role
角色名稱
- -a, --action
權限動作
- -r, --resource
權限名稱
- -v, --verbose
使記錄輸出更詳細
預設值:False
delete¶
刪除角色
airflow roles delete [-h] [-v] [role [role ...]]
- role
角色名稱
- -v, --verbose
使記錄輸出更詳細
預設值:False
export¶
從資料庫匯出角色(不含權限)至 JSON 檔案
airflow roles export [-h] [-p] [-v] file
- 檔案
將所有角色匯出至 JSON 檔案
- -p, --pretty
透過排序角色名稱並縮排 4 個空格來格式化輸出 JSON 檔案
預設值:False
- -v, --verbose
使記錄輸出更詳細
預設值:False
rotate-fernet-key¶
輪換所有加密連線憑證和變數;請參閱 https://airflow.dev.org.tw/docs/apache-airflow/stable/howto/secure-connections.html#rotating-encryption-keys
airflow rotate-fernet-key [-h]
scheduler¶
啟動排程器執行個體
airflow scheduler [-h] [-D] [-p] [-l LOG_FILE] [-n NUM_RUNS] [--pid [PID]]
[-s] [--stderr STDERR] [--stdout STDOUT] [-S SUBDIR] [-v]
命名引數¶
- -D, --daemon
以後台常駐程式執行,而不是在前台執行
預設值:False
- -p, --do-pickle
嘗試 pickle DAG 物件以傳送給 workers,而不是讓 workers 執行他們版本的程式碼
預設值:False
- -l, --log-file
記錄檔的位置
- -n, --num-runs
設定在退出前要執行的次數
預設值:-1
- --pid
PID 檔案位置
- -s, --skip-serve-logs
不要與工作程序一起啟動 serve logs 程序
預設值:False
- --stderr
將 stderr 重導向到此檔案
- --stdout
將 stdout 重導向到此檔案
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -v, --verbose
使記錄輸出更詳細
預設值:False
訊號
SIGUSR2:傾印執行器正在追蹤的任務狀態快照。
- 範例
pkill -f -USR2 “airflow scheduler”
sync-perm¶
更新現有角色的權限,並選擇性地更新 DAG 的權限
airflow sync-perm [-h] [--include-dags] [-v]
命名引數¶
- --include-dags
如果傳遞此引數,DAG 特定權限也會同步。
預設值:False
- -v, --verbose
使記錄輸出更詳細
預設值:False
tasks¶
管理任務
airflow tasks [-h] COMMAND ...
位置引數¶
- 命令
可選選項:clear、failed-deps、list、render、run、state、states-for-dag-run、test
子命令¶
clear¶
清除一組任務執行個體,如同它們從未執行過一樣
airflow tasks clear [-h] [-R] [-d] [-e END_DATE] [-X] [-x] [-f] [-r]
[-s START_DATE] [-S SUBDIR] [-t TASK_REGEX] [-u] [-v] [-y]
dag_id
- dag_id
dag 的 ID
- -R, --dag-regex
將 dag_id 作為 regex 而非確切字串搜尋
預設值:False
- -d, --downstream
包含下游任務
預設值:False
- -e, --end-date
覆寫結束日期 YYYY-MM-DD
- -X, --exclude-parentdag
如果清除的任務是 SubDAG 的一部分,則排除 ParentDAG
預設值:False
- -x, --exclude-subdags
排除子 DAG
預設值:False
- -f, --only-failed
僅限失敗任務
預設值:False
- -r, --only-running
僅限執行中任務
預設值:False
- -s, --start-date
覆寫開始日期 YYYY-MM-DD
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -t, --task-regex
用於篩選特定 task_ids 的 regex (選填)
- -u, --upstream
包含上游任務
預設值:False
- -v, --verbose
使記錄輸出更詳細
預設值:False
- -y, --yes
不要提示確認。謹慎使用!
預設值:False
failed-deps¶
從排程器的角度傳回任務執行個體未滿足的依賴項。換句話說,說明任務執行個體為何未由排程器排程,然後放入佇列,接著由執行器執行。
airflow tasks failed-deps [-h] [--map-index MAP_INDEX] [-S SUBDIR] [-v]
dag_id task_id execution_date_or_run_id
- dag_id
dag 的 ID
- task_id
任務的 ID
- execution_date_or_run_id
DAG 的 execution_date 或 DAGRun 的 run_id
- --map-index
已對應的任務索引
預設值:-1
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -v, --verbose
使記錄輸出更詳細
預設值:False
list¶
列出 DAG 內的任務
airflow tasks list [-h] [-S SUBDIR] [-t] [-v] dag_id
- dag_id
dag 的 ID
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -t, --tree
已棄用 - 請改用 dags show。以樹狀結構顯示任務。請注意,產生樹狀結構可能很慢,而且某些 DAG 的輸出可能非常龐大。
預設值:False
- -v, --verbose
使記錄輸出更詳細
預設值:False
render¶
呈現任務執行個體的範本
airflow tasks render [-h] [--map-index MAP_INDEX] [-S SUBDIR] [-v]
dag_id task_id execution_date_or_run_id
- dag_id
dag 的 ID
- task_id
任務的 ID
- execution_date_or_run_id
DAG 的 execution_date 或 DAGRun 的 run_id
- --map-index
已對應的任務索引
預設值:-1
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -v, --verbose
使記錄輸出更詳細
預設值:False
run¶
執行單一任務執行個體
airflow tasks run [-h] [--cfg-path CFG_PATH] [-d {check,wait,ignore}] [-f]
[-A] [-i] [-I] [-N] [-l] [--map-index MAP_INDEX] [-m]
[-p PICKLE] [--pool POOL] [--read-from-db] [--ship-dag]
[-S SUBDIR] [-v]
dag_id task_id execution_date_or_run_id
- dag_id
dag 的 ID
- task_id
任務的 ID
- execution_date_or_run_id
DAG 的 execution_date 或 DAGRun 的 run_id
- --cfg-path
要使用的組態檔路徑,而非 airflow.cfg
- -d, --depends-on-past
可選選項:check、wait、ignore
決定 Airflow 應如何處理過去的依賴項。預設動作為 check,Airflow 會檢查是否已滿足具有 depends_on_past=True 的任務的過去依賴項,然後再執行它們;如果提供 ignore,則會忽略過去的依賴項;如果提供 wait 且 depends_on_past=True,Airflow 會等待過去的依賴項直到滿足,然後再執行或略過任務
預設值:“check”
- -f, --force
忽略先前的任務執行個體狀態,重新執行,無論任務是否已成功/失敗
預設值:False
- -A, --ignore-all-dependencies
忽略所有非關鍵依賴項,包括 ignore_ti_state 和 ignore_task_deps
預設值:False
- -i, --ignore-dependencies
忽略任務特定的依賴項,例如上游、depends_on_past 和重試延遲依賴項
預設值:False
- -I, --ignore-depends-on-past
已棄用 – 請改用 –depends-on-past ignore。忽略 depends_on_past 依賴項(但遵守上游依賴項)
預設值:False
- -N, --interactive
不要擷取標準輸出和錯誤串流(適用於互動式偵錯)
預設值:False
- -l, --local
使用 LocalExecutor 執行任務
預設值:False
- --map-index
已對應的任務索引
預設值:-1
- -m, --mark-success
將任務標記為成功,而不執行它們
預設值:False
- -p, --pickle
整個 DAG 的序列化 pickle 物件(內部使用)
- --pool
要使用的資源池
- --read-from-db
從資料庫而非 DAG 檔案讀取 DAG
預設值:False
- --ship-dag
Pickle(序列化)DAG 並將其傳送至工作程序
預設值:False
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -v, --verbose
使記錄輸出更詳細
預設值:False
state¶
取得任務執行個體的狀態
airflow tasks state [-h] [--map-index MAP_INDEX] [-S SUBDIR] [-v]
dag_id task_id execution_date_or_run_id
- dag_id
dag 的 ID
- task_id
任務的 ID
- execution_date_or_run_id
DAG 的 execution_date 或 DAGRun 的 run_id
- --map-index
已對應的任務索引
預設值:-1
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -v, --verbose
使記錄輸出更詳細
預設值:False
states-for-dag-run¶
取得 DAG 執行中所有任務執行個體的狀態
airflow tasks states-for-dag-run [-h] [-o table, json, yaml, plain] [-v]
dag_id execution_date_or_run_id
- dag_id
dag 的 ID
- execution_date_or_run_id
DAG 的 execution_date 或 DAGRun 的 run_id
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
test¶
測試任務執行個體。這將執行任務,而不會檢查依賴項或將其狀態記錄在資料庫中
airflow tasks test [-h] [-n] [--env-vars ENV_VARS] [--map-index MAP_INDEX]
[-m] [-S SUBDIR] [-t TASK_PARAMS] [-v]
dag_id task_id [execution_date_or_run_id]
- dag_id
dag 的 ID
- task_id
任務的 ID
- execution_date_or_run_id
DAG 的 execution_date 或 DAGRun 的 run_id(選用)
- -n, --dry-run
對每個任務執行 dry run。僅呈現每個任務的範本欄位,沒有其他動作
預設值:False
- --env-vars
在剖析時間和執行階段,為 JSON 字典中提供的每個項目設定環境變數
- --map-index
已對應的任務索引
預設值:-1
- -m, --post-mortem
在未捕捉到的例外狀況時開啟偵錯工具
預設值:False
- -S, --subdir
要從中尋找 dag 的檔案位置或目錄。預設為 '[AIRFLOW_HOME]/dags',其中 [AIRFLOW_HOME] 是您在 'airflow.cfg' 中設定的 'AIRFLOW_HOME' 組態值
預設值:“[AIRFLOW_HOME]/dags”
- -t, --task-params
將 JSON 參數字典傳送至任務
- -v, --verbose
使記錄輸出更詳細
預設值:False
triggerer¶
啟動觸發器執行個體
airflow triggerer [-h] [--capacity CAPACITY] [-D] [-l LOG_FILE] [--pid [PID]]
[-s] [--stderr STDERR] [--stdout STDOUT] [-v]
命名引數¶
- --capacity
觸發器一次將執行的觸發器最大數量。
- -D, --daemon
以後台常駐程式執行,而不是在前台執行
預設值:False
- -l, --log-file
記錄檔的位置
- --pid
PID 檔案位置
- -s, --skip-serve-logs
不要與工作程序一起啟動 serve logs 程序
預設值:False
- --stderr
將 stderr 重導向到此檔案
- --stdout
將 stdout 重導向到此檔案
- -v, --verbose
使記錄輸出更詳細
預設值:False
users¶
管理使用者
airflow users [-h] COMMAND ...
位置引數¶
- 命令
可選選項:add-role、create、delete、export、import、list、remove-role、reset-password
子命令¶
add-role¶
將角色新增至使用者
airflow users add-role [-h] [-e EMAIL] -r ROLE [-u USERNAME] [-v]
- -e, --email
使用者的電子郵件
- -r, --role
使用者的角色。現有角色包括管理員、使用者、操作員、檢視者和公用
- -u, --username
使用者的使用者名稱
- -v, --verbose
使記錄輸出更詳細
預設值:False
create¶
建立使用者
airflow users create [-h] -e EMAIL -f FIRSTNAME -l LASTNAME [-p PASSWORD] -r
ROLE [--use-random-password] -u USERNAME [-v]
- -e, --email
使用者的電子郵件
- -f, --firstname
使用者的名字
- -l, --lastname
使用者的姓氏
- -p, --password
使用者的密碼,建立使用者時為必要項目,除非使用 –use-random-password
- -r, --role
使用者的角色。現有角色包括管理員、使用者、操作員、檢視者和公用
- --use-random-password
不提示輸入密碼。改為使用隨機字串。建立使用者時為必要項目,除非使用 –password
預設值:False
- -u, --username
使用者的使用者名稱
- -v, --verbose
使記錄輸出更詳細
預設值:False
範例:若要建立具有「管理員」角色且使用者名稱等於「admin」的使用者,請執行
- $ airflow users create
–username admin –firstname FIRST_NAME –lastname LAST_NAME –role Admin –email admin@example.org
delete¶
刪除使用者
airflow users delete [-h] [-e EMAIL] [-u USERNAME] [-v]
- -e, --email
使用者的電子郵件
- -u, --username
使用者的使用者名稱
- -v, --verbose
使記錄輸出更詳細
預設值:False
export¶
匯出所有使用者
airflow users export [-h] [-v] FILEPATH
- FILEPATH
將所有使用者匯出至 JSON 檔案
- -v, --verbose
使記錄輸出更詳細
預設值:False
import¶
匯入使用者
airflow users import [-h] [-v] FILEPATH
- FILEPATH
從 JSON 檔案匯入使用者。範例格式
[ { "email": "foo@bar.org", "firstname": "Jon", "lastname": "Doe", "roles": ["Public"], "username": "jondoe" } ]
- -v, --verbose
使記錄輸出更詳細
預設值:False
list¶
列出使用者
airflow users list [-h] [-o table, json, yaml, plain] [-v]
- -o, --output
可能選項:table, json, yaml, plain
輸出格式。允許的值:json, yaml, plain, table (預設值:table)
預設值:“table”
- -v, --verbose
使記錄輸出更詳細
預設值:False
remove-role¶
從使用者移除角色
airflow users remove-role [-h] [-e EMAIL] -r ROLE [-u USERNAME] [-v]
- -e, --email
使用者的電子郵件
- -r, --role
使用者的角色。現有角色包括管理員、使用者、操作員、檢視者和公用
- -u, --username
使用者的使用者名稱
- -v, --verbose
使記錄輸出更詳細
預設值:False
reset-password¶
重設使用者的密碼
airflow users reset-password [-h] [-e EMAIL] [-p PASSWORD]
[--use-random-password] [-u USERNAME] [-v]
- -e, --email
使用者的電子郵件
- -p, --password
使用者的密碼,建立使用者時為必要項目,除非使用 –use-random-password
- --use-random-password
不提示輸入密碼。改為使用隨機字串。建立使用者時為必要項目,除非使用 –password
預設值:False
- -u, --username
使用者的使用者名稱
- -v, --verbose
使記錄輸出更詳細
預設值:False
範例:若要重設使用者名稱等於「admin」的使用者,請執行
- $ airflow users reset-password
–username admin
variables¶
管理變數
airflow variables [-h] COMMAND ...
位置引數¶
- 命令
可選選項:delete、export、get、import、list、set
子命令¶
delete¶
刪除變數
airflow variables delete [-h] [-v] key
- key
變數金鑰
- -v, --verbose
使記錄輸出更詳細
預設值:False
export¶
可以使用以下命令,在 STDOUT 中匯出所有變數:airflow variables export -
airflow variables export [-h] [-v] file
- 檔案
將所有變數匯出至 JSON 檔案
- -v, --verbose
使記錄輸出更詳細
預設值:False
get¶
取得變數
airflow variables get [-h] [-d VAL] [-j] [-v] key
- key
變數金鑰
- -d, --default
如果變數不存在,則傳回預設值
- -j, --json
還原序列化 JSON 變數
預設值:False
- -v, --verbose
使記錄輸出更詳細
預設值:False
import¶
匯入變數
airflow variables import [-h] [-a {overwrite,fail,skip}] [-v] file
- 檔案
從 JSON 檔案匯入變數
- -a, --action-on-existing-key
可選選項:overwrite、fail、skip
如果遇到已存在的變數金鑰時要採取的動作。
預設值:“overwrite”
- -v, --verbose
使記錄輸出更詳細
預設值:False
webserver¶
啟動 Airflow Web 伺服器執行個體
airflow webserver [-h] [-A ACCESS_LOGFILE] [-L ACCESS_LOGFORMAT] [-D] [-d]
[-E ERROR_LOGFILE] [-H HOSTNAME] [-l LOG_FILE] [--pid [PID]]
[-p PORT] [--ssl-cert SSL_CERT] [--ssl-key SSL_KEY]
[--stderr STDERR] [--stdout STDOUT] [-t WORKER_TIMEOUT]
[-k {sync,eventlet,gevent,tornado}] [-w WORKERS]
命名引數¶
- -A, --access-logfile
儲存 Web 伺服器存取記錄的記錄檔。使用 ‘-’ 列印至 stdout
預設值:“-“
- -L, --access-logformat
gunicorn 記錄的存取記錄格式
預設值:“”
- -D, --daemon
以後台常駐程式執行,而不是在前台執行
預設值:False
- -d, --debug
在偵錯模式下使用 Flask 隨附的伺服器
預設值:False
- -E, --error-logfile
儲存 Web 伺服器錯誤記錄的記錄檔。使用 ‘-’ 列印至 stderr
預設值:“-“
- -H, --hostname
設定要在其上執行網頁伺服器的主機名稱
預設值:“0.0.0.0”
- -l, --log-file
記錄檔的位置
- --pid
PID 檔案位置
- -p, --port
要在其上執行伺服器的埠號
預設值:8080
- --ssl-cert
Web 伺服器的 SSL 憑證路徑
預設值:“”
- --ssl-key
搭配 SSL 憑證使用的金鑰路徑
預設值:“”
- --stderr
將 stderr 重導向到此檔案
- --stdout
將 stdout 重導向到此檔案
- -t, --worker-timeout
等待 Web 伺服器工作程序的逾時時間
預設值:120
- -k, --workerclass
可選選項:sync、eventlet、gevent、tornado
用於 Gunicorn 的工作程序類別
預設值:“sync”
- -w, --workers
在 Web 伺服器上執行的工作程序數量
預設值:4
環境變數¶
- AIRFLOW__{SECTION}__{KEY}¶
設定 Airflow 組態中的選項。這會優先於
airflow.cfg
檔案中的值。將
{SECTION}
預留位置取代為任何區段,並將{KEY}
預留位置取代為該指定區段中的任何金鑰。例如,如果您想要在
[core]
區段中設定dags_folder
選項,則應設定AIRFLOW__CORE__DAGS_FOLDER
環境變數。如需更多資訊,請參閱:設定組態選項。
- AIRFLOW__{SECTION}__{KEY}_CMD¶
針對 Airflow 中區段的任何特定金鑰,執行金鑰指向的命令。命令的結果會用作
AIRFLOW__{SECTION}__{KEY}
環境變數的值。只有下列組態選項支援此功能
sql_alchemy_conn
在[database]
區段中fernet_key
在[core]
區段中broker_url
在[celery]
區段中flower_basic_auth
在[celery]
區段中result_backend
在[celery]
區段中password
在[atlas]
區段中smtp_password
在[smtp]
區段中secret_key
在[webserver]
區段中
- AIRFLOW__{SECTION}__{KEY}_SECRET¶
針對 Airflow 中區段的任何特定金鑰,從已設定的密鑰後端擷取密鑰。傳回的值將用作
AIRFLOW__{SECTION}__{KEY}
環境變數的值。如需有關可用密鑰後端的更多資訊,請參閱 密鑰後端。
此形式的環境變數組態僅支援與
AIRFLOW__{SECTION}__{KEY}_CMD
相同的組態選項子集
- AIRFLOW_CONFIG¶
Airflow 設定檔的路徑。
- AIRFLOW_CONN_{CONN_ID}¶
定義一個名為
{CONN_ID}
的新連線,並使用 URI 值。例如,如果您想要建立一個名為
PROXY_POSTGRES_TCP
的連線,您可以建立一個鍵AIRFLOW_CONN_PROXY_POSTGRES_TCP
,並將連線 URI 作為值。更多資訊請參閱:將連線儲存在環境變數中。
- AIRFLOW_HOME¶
Airflow 內容的根目錄。這是 Airflow 資產(例如 DAG 和日誌)的預設父目錄。