FAB CLI 命令

注意

以下 CLI 命令來自 Airflow 2.9.0+ 中的 FAB provider。以前,它們是 Airflow 核心的一部分,因此如果您使用的 Airflow 版本低於 2.9.0,請參閱 Airflow 核心文件以獲取可用 CLI 命令和引數列表。

Usage: airflow [-h] GROUP_OR_COMMAND ...

位置引數

GROUP_OR_COMMAND

可能選項: users, roles, sync-perm, fab-db

子命令

users

管理使用者

airflow users [-h] COMMAND ...

位置引數

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

使用者的角色。現有角色包括 Admin, User, Op, Viewer, 和 Public

-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

使用者的角色。現有角色包括 Admin, User, Op, Viewer, 和 Public

--use-random-password

不提示輸入密碼。改用隨機字串。建立使用者時如果未使用 –password 則必填

預設值: False

-u, --username

使用者的使用者名稱

-v, --verbose

使日誌輸出更詳細

預設值: False

示例: 要建立具有“Admin”角色且使用者名稱為“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

使用者的角色。現有角色包括 Admin, User, Op, Viewer, 和 Public

-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

roles

管理角色

airflow roles [-h] COMMAND ...

位置引數

COMMAND

可能選項: add-perms, create, del-perms, delete, export, import, list

子命令

add-perms

新增角色許可權

airflow roles add-perms [-h] -a [ACTION ...] -r [RESOURCE ...] [-v] [role ...]
位置引數
role

角色名稱

命名引數
-a, --action

許可權的操作

-r, --resource

許可權名稱

-v, --verbose

使日誌輸出更詳細

預設值: False

create

建立角色

airflow roles create [-h] [-v] [role ...]
位置引數
role

角色名稱

命名引數
-v, --verbose

使日誌輸出更詳細

預設值: False

del-perms

刪除角色許可權

airflow roles del-perms [-h] [-a [ACTION ...]] -r [RESOURCE ...] [-v]
                        [role ...]
位置引數
role

角色名稱

命名引數
-a, --action

許可權的操作

-r, --resource

許可權名稱

-v, --verbose

使日誌輸出更詳細

預設值: False

delete

刪除角色

airflow roles delete [-h] [-v] [role ...]
位置引數
role

角色名稱

命名引數
-v, --verbose

使日誌輸出更詳細

預設值: False

export

從資料庫匯出角色(不含許可權)到 JSON 檔案

airflow roles export [-h] [-p] [-v] file
位置引數
file

將所有角色匯出到 JSON 檔案

命名引數
-p, --pretty

格式化輸出 JSON 檔案,按角色名稱排序並縮排 4 個空格

預設值: False

-v, --verbose

使日誌輸出更詳細

預設值: False

import

從 JSON 檔案匯入角色(不含許可權)到資料庫

airflow roles import [-h] [-v] file
位置引數
file

從 JSON 檔案匯入角色

命名引數
-v, --verbose

使日誌輸出更詳細

預設值: False

list

列出角色

airflow roles list [-h] [-o table, json, yaml, plain] [-p] [-v]
命名引數
-o, --output

可能選項: table, json, yaml, plain

輸出格式。允許的值: json, yaml, plain, table (預設值: table)

預設值: “table”

-p, --permission

顯示角色許可權

預設值: False

-v, --verbose

使日誌輸出更詳細

預設值: False

sync-perm

更新現有角色和可選的 DAG 的許可權

airflow sync-perm [-h] [--include-dags] [-v]

命名引數

--include-dags

如果傳入此引數,DAG 特定許可權也將同步。

預設值: False

-v, --verbose

使日誌輸出更詳細

預設值: False

fab-db

管理 FAB

airflow fab-db [-h] COMMAND ...

位置引數

COMMAND

可能選項: downgrade, migrate, reset

子命令

downgrade

降級 FAB 元資料資料庫的模式。您必須提供 –to-revision–to-version 之一。要列印但不執行命令,請使用選項 –show-sql-only。如果使用選項 –from-revision–from-version,您也必須使用 –show-sql-only,因為如果實際執行遷移,我們應該只從當前的 Alembic 版本進行遷移。

airflow fab-db downgrade [-h] [--from-revision FROM_REVISION]
                         [--from-version FROM_VERSION] [-s] [-r TO_REVISION]
                         [-n TO_VERSION] [-v] [-y]
命名引數
--from-revision

(可選)如果生成 sql,可以提供一個起始 Alembic 版本

--from-version

(可選)如果生成 sql,可以提供一個起始版本

-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

migrate

遷移 FAB 元資料資料庫的模式。如果資料庫不存在則建立它。要列印但不執行命令,請使用選項 --show-sql-only。如果使用選項 --from-revision--from-version,您也必須使用 --show-sql-only,因為如果實際執行遷移,我們應該只從當前的 Alembic 版本進行遷移。

airflow fab-db migrate [-h] [--from-revision FROM_REVISION]
                       [--from-version FROM_VERSION] [-s] [-r TO_REVISION]
                       [-n TO_VERSION] [-v]
命名引數
--from-revision

(可選)如果生成 sql,可以提供一個起始 Alembic 版本

--from-version

(可選)如果生成 sql,可以提供一個起始版本

-s, --show-sql-only

不實際執行遷移;只打印出用於離線遷移的 sql 指令碼。如果使用 –from-revision–from-version 則必填。

預設值: False

-r, --to-revision

(可選)如果提供此引數,只執行遷移到此 Alembic 版本(含)為止。

-n, --to-version

(可選)要升級到的 Airflow 版本。注意: 必須提供 –to-revision–to-version 之一。

-v, --verbose

使日誌輸出更詳細

預設值: False

reset

銷燬並重建 FAB 元資料資料庫

airflow fab-db reset [-h] [-s] [-v] [-y]
命名引數
-s, --skip-init

只刪除表;不執行資料庫初始化。

預設值: False

-v, --verbose

使日誌輸出更詳細

預設值: False

-y, --yes

不提示確認。請謹慎使用!

預設值: False

這篇文章有幫助嗎?