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.org/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)。