跳轉到

指令碼開發 / 環境變數 DFF.ENV

在指令碼編輯器左側邊欄配置的環境變數,可以在 Script 中使用其 ID 讀取。

API

方法 說明
DFF.ENV(key, default=None) 讀取環境變數;不存在時返回 default
DFF.ENV.get(key, default=None) 與直接呼叫 DFF.ENV(...) 等價
DFF.ENV.keys() 返回可用環境變數的 ID 列表
DFF.ENV.ref(key, default=None) 為支援動態取值的 DFF.API 引數建立延遲引用
示例
1
2
3
company_name = DFF.ENV('companyName')
page_size = DFF.ENV('pageSize', default=10)
all_keys = DFF.ENV.keys()

找不到環境變數時返回 default,未傳入預設值時返回 None。password 型別的環境變數會自動解密;配置了型別轉換時,會返回轉換後的 Python 值。配置錯誤可能導致型別轉換丟擲異常,因此讀取可選變數時應提供預設值或兜底邏輯。

帶型別兜底的示例
1
2
3
4
5
def get_page_size():
    try:
        return int(DFF.ENV('pageSize', default=10) or 10)
    except Exception:
        return 10

動態引用

DFF.ENV.ref(...) 返回的是動態引用,而不是當前環境變數值。引用會在消費 Func 元資料時解析,可用於 DFF.API 的 delayed_cron_job、timeout、expires 和 queue 引數。

示例
1
2
3
@DFF.API('動態超時', timeout=DFF.ENV.ref('FUNC_TIMEOUT', default=35))
def dynamic_timeout():
    return 'ok'

連線地址、Token、密碼和環境差異配置應優先存放在環境變數中,不要硬編碼在 Script 內,也不要透過 print(...) 或 Func 響應輸出敏感值。