airflow.models.connection¶
屬性¶
類¶
用於儲存不同資料庫例項連線資訊的佔位符。 |
函式¶
|
對連線 ID 進行淨化,只允許包含特定字元。 |
模組內容¶
- airflow.models.connection.sanitize_conn_id(conn_id, max_length=CONN_ID_MAX_LEN)[source]¶
對連線 ID 進行淨化,只允許包含特定字元。
具體來說,它允許包含字母數字字元以及 #,!,-,_,.,:,,/ 和 () 符號,連續匹配 1 到 250 個。如果需要,可以透過設定 max_length 來調整最大長度。
您可以在此處嘗試使用正則表示式:https://regex101.com/r/69033B/1
選擇這些字元是為了防止注入 JavaScript 或可執行程式碼,以避免前端出現異常行為。
- 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)[source]¶
基類:
airflow.models.base.Base,airflow.utils.log.logging_mixin.LoggingMixin用於儲存不同資料庫例項連線資訊的佔位符。
其思想是,指令碼在使用操作器或 hooks 時,使用資料庫例項的引用 (conn_id),而不是硬編碼主機名、登入名和密碼。
另請參閱
有關如何使用此類的更多資訊,請參閱:管理連線
- 引數:
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 地址。
- get_uri()[source]¶
返回 Airflow 格式的連線 URI。
Airflow URI 格式示例:https://airflow.apache.tw/docs/apache-airflow/stable/howto/connection.html#uri-format-example
請注意,此方法返回的 URI **不**與 SQLAlchemy 相容,如果您需要 SQLAlchemy 相容的 URI,請使用
sqlalchemy_url
- get_extra_dejson(nested=False)[source]¶
將 extra 屬性反序列化為 JSON。
- 引數:
nested (bool) – 確定巢狀結構是否也反序列化為 JSON(預設為 False)。