airflow.models.connection

模組內容

類別

Connection (連線)

用於儲存關於不同資料庫實例連線資訊的佔位符。

函式

parse_netloc_to_hostname (*args, **kwargs)

請勿使用,此方法已棄用。

sanitize_conn_id (conn_id[, max_length])

淨化連線 ID,僅允許特定字元。

屬性

log

RE_SANITIZE_CONN_ID

CONN_ID_MAX_LEN

airflow.models.connection. log [原始碼]
airflow.models.connection. RE_SANITIZE_CONN_ID [原始碼]
airflow.models.connection. CONN_ID_MAX_LEN : int = 250 [原始碼]
airflow.models.connection. parse_netloc_to_hostname ( * args , ** kwargs ) [原始碼]

請勿使用,此方法已棄用。

airflow.models.connection. sanitize_conn_id ( conn_id , max_length = CONN_ID_MAX_LEN ) [原始碼]

淨化連線 ID,僅允許特定字元。

也就是說,它允許字母數字字元以及符號 #,!,-,_,.,:,,/ 和 (),從 1 個到最多 250 個連續匹配項。如果需要,可以通過設定 max_length 來調整最大長度。

您可以在這裡嘗試使用正則表達式: https://regex101.com/r/69033B/1

字元選擇的目的是防止注入 javascript 或可執行程式碼,以避免前端出現任何尷尬的行為。

參數
  • conn_id ( str | None ) – 要淨化的連線 ID。

  • max_length – 連線 ID 的最大長度,預設為 250。

返回

淨化後的字串,否則返回 None

返回類型

str | None

class airflow.models.connection. Connection ( conn_id = None , conn_type = None , description = None , host = None , login = None , password = None , schema = None , port = None , extra = None , uri = None ) [原始碼]

繼承: airflow.models.base.Base , airflow.utils.log.logging_mixin.LoggingMixin

用於儲存關於不同資料庫實例連線資訊的佔位符。

這裡的想法是,腳本使用對資料庫實例 (conn_id) 的引用,而不是在使用 operators (運算子) 或 hooks (鉤子) 時硬編碼主機名稱、登入名稱和密碼。

參見

有關如何使用此類別的更多資訊,請參閱: 管理連線

參數
  • conn_id ( str | None ) – 連線 ID。

  • conn_type ( str | None ) – 連線類型。

  • description ( str | None ) – 連線描述。

  • host ( str | None ) – 主機。

  • login ( str | None ) – 登入名稱。

  • password ( str | None ) – 密碼。

  • schema ( str | None ) – 綱要。

  • port ( int | None ) – 埠號。

  • extra ( str | dict | None ) – 額外元數據。非標準資料,例如私鑰/SSH 金鑰可以保存在這裡。JSON 編碼物件。

  • uri ( str | None ) – 描述連線參數的 URI 位址。

property password [原始碼]

密碼。在讀取/設定值時會解密/加密該值。

property extra [原始碼]

額外資料。在讀取/設定值時會解密/加密該值。

property extra_dejson : dict [原始碼]

通過反序列化 json 返回額外屬性。

EXTRA_KEY = '__extra__' [原始碼]
__tablename__ = 'connection' [原始碼]
id [原始碼]
conn_id [原始碼]
conn_type [原始碼]
description [原始碼]
host [原始碼]
schema [原始碼]
login [原始碼]
port [原始碼]
is_encrypted [原始碼]
is_extra_encrypted [原始碼]
on_db_load ( ) [原始碼]
parse_from_uri ( ** uri ) [原始碼]

在建構函式中使用 uri 參數,此方法已棄用。

get_uri ( ) [原始碼]

以 URI 格式返回連線。

get_password ( ) [原始碼]

返回加密的密碼。

set_password ( value ) [原始碼]

加密密碼並在物件屬性中設定。

get_extra ( ) [原始碼]

返回加密的額外資料。

set_extra ( value ) [原始碼]

加密額外資料並儲存在物件屬性中。

rotate_fernet_key ( ) [原始碼]

使用新金鑰加密資料。參見: Fernet

get_hook ( * , hook_params = None ) [原始碼]

根據 conn_type 返回 hook (鉤子)。

__repr__ ( ) [原始碼]

返回 repr(self)。

log_info ( ) [原始碼]

單獨讀取每個欄位或使用預設表示 (__repr__)。

此方法已棄用。

debug_info ( ) [原始碼]

單獨讀取每個欄位或使用預設表示 (__repr__)。

此方法已棄用。

test_connection ( ) [原始碼]

呼叫 get_hook 方法並對其執行 test_connection 方法。

get_extra_dejson ( nested = False ) [原始碼]

將額外屬性反序列化為 JSON。

參數

nested ( bool ) – 確定是否也將巢狀結構反序列化為 JSON (預設為 False)。

classmethod get_connection_from_secrets ( conn_id ) [原始碼]

通過 conn_id 取得連線。

參數

conn_id ( str ) – 連線 ID

返回

連線

返回類型

Connection (連線)

classmethod from_json ( value , conn_id = None ) [原始碼]
as_json ( ) [原始碼]

將 Connection (連線) 轉換為 JSON 字串物件。

這個條目是否有幫助?