airflow.providers.jdbc.hooks.jdbc¶
类¶
JDBC 访问的通用 Hook。 |
函数¶
|
一个上下文管理器,用于忽略给定异常并记录警告消息。 |
模块内容¶
- 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 错误。
- 要配置驱动程序参数,可以使用以下方法
在实例化 Hook 时,将它们作为构造函数参数提供。
使用 SQL 操作符创建 Hook 时,在“hook_params”字典中设置“driver_path”和/或“driver_class”参数。
在连接的 extra 中设置“driver_path”和/或“driver_class”,并在 Airflow 配置的“providers.jdbc”部分相应地启用“allow_driver_path_in_extra”和/或“allow_driver_class_in_extra”选项。如果您在 Airflow 配置中启用了这些选项,应确保您信任可以在 UI 中编辑连接的用户,以防止他们恶意使用。
如果想从 JdbcHook 使用 SQLAlchemy 引擎,请在连接的 extra 中定义“sqlalchemy_scheme”属性。使用 JdbcHook 时,“sqlalchemy_scheme”默认值为“jdbc”,这是一个协议,而不是数据库方案或方言。因此,为了能够将 SQLAlchemy 与 JdbcHook 一起使用,您需要在连接的 extra 中定义“sqlalchemy_scheme”属性。
在
local_settings.py
文件中修改JdbcHook.default_driver_path
和/或JdbcHook.default_driver_class
的值。
有关完整文档,请参阅 JDBC 连接。
- 参数:
- property sqlalchemy_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。- 返回:
创建的引擎。
- set_autocommit(conn, autocommit)[源代码]¶
为给定连接设置自动提交。
- 参数:
conn (jaydebeapi.Connection) – 连接。
autocommit (bool) – 连接的自动提交设置。