airflow.providers.jdbc.hooks.jdbc

JdbcHook

JDBC 访问的通用 Hook。

函数

suppress_and_warn(*exceptions)

一个上下文管理器,用于忽略给定异常并记录警告消息。

模块内容

airflow.providers.jdbc.hooks.jdbc.suppress_and_warn(*exceptions)[源代码]

一个上下文管理器,用于忽略给定异常并记录警告消息。

class airflow.providers.jdbc.hooks.jdbc.JdbcHook(*args, driver_path=None, driver_class=None, **kwargs)[源代码]

继承自: airflow.providers.common.sql.hooks.sql.DbApiHook

JDBC 访问的通用 Hook。

JDBC URL、用户名和密码将从预定义的连接中获取。请注意,完整的 JDBC URL 必须在数据库连接的“host”字段中指定。如果给定的连接 ID 不存在,将引发 Airflow 错误。

要配置驱动程序参数,可以使用以下方法
  1. 在实例化 Hook 时,将它们作为构造函数参数提供。

  2. 使用 SQL 操作符创建 Hook 时,在“hook_params”字典中设置“driver_path”和/或“driver_class”参数。

  3. 在连接的 extra 中设置“driver_path”和/或“driver_class”,并在 Airflow 配置的“providers.jdbc”部分相应地启用“allow_driver_path_in_extra”和/或“allow_driver_class_in_extra”选项。如果您在 Airflow 配置中启用了这些选项,应确保您信任可以在 UI 中编辑连接的用户,以防止他们恶意使用。

  4. 如果想从 JdbcHook 使用 SQLAlchemy 引擎,请在连接的 extra 中定义“sqlalchemy_scheme”属性。使用 JdbcHook 时,“sqlalchemy_scheme”默认值为“jdbc”,这是一个协议,而不是数据库方案或方言。因此,为了能够将 SQLAlchemy 与 JdbcHook 一起使用,您需要在连接的 extra 中定义“sqlalchemy_scheme”属性。

  5. local_settings.py 文件中修改 JdbcHook.default_driver_path 和/或 JdbcHook.default_driver_class 的值。

有关完整文档,请参阅 JDBC 连接

参数:
  • args – 传递给 DbApiHook

  • driver_path (str | None) – JDBC 驱动程序 jar 文件的路径。请参见上文了解更多信息。

  • driver_class (str | None) – JDBC 驱动程序类的名称。请参见上文了解更多信息。

  • kwargs – 传递给 DbApiHook

conn_name_attr = 'jdbc_conn_id'[源代码]
default_conn_name = 'jdbc_default'[源代码]
conn_type = 'jdbc'[源代码]
hook_name = 'JDBC Connection'[源代码]
supports_autocommit = True[源代码]
default_driver_path: str | None = None[源代码]
default_driver_class: str | None = None[源代码]
lock[源代码]
classmethod get_ui_field_behaviour()[源代码]

获取自定义字段行为。

property driver_path: str | None[源代码]
property driver_class: str | None[源代码]
property sqlalchemy_url: sqlalchemy.engine.URL[源代码]

从连接返回一个 Sqlalchemy.engine.URL 对象。

需要在提供者子类中实现,以返回 sqlalchemy.engine.URL 对象。

返回:

提取的 sqlalchemy.engine.URL 对象。

返回类型:

sqlalchemy.engine.URL

get_sqlalchemy_engine(engine_kwargs=None)[源代码]

获取一个 sqlalchemy_engine 对象。

参数:

engine_kwargs – 在 create_engine() 中使用的 Kwargs。

返回:

创建的引擎。

get_conn()[源代码]

返回一个连接对象。

set_autocommit(conn, autocommit)[源代码]

为给定连接设置自动提交。

参数:
  • conn (jaydebeapi.Connection) – 连接。

  • autocommit (bool) – 连接的自动提交设置。

get_autocommit(conn)[源代码]

获取给定连接的自动提交设置。

参数:

conn (jaydebeapi.Connection) – 获取自动提交设置的连接。

返回:

连接的自动提交设置。如果连接上 autocommit 设置为 True,则为 True。如果未设置、设置为 False 或连接不支持自动提交,则为 False。

返回类型:

bool

get_uri()[源代码]

获取 JDBC 连接的连接 URI。

此条目有帮助吗?