airflow.providers.mysql.hooks.mysql¶
此模块允许连接到 MySQL 数据库。
属性¶
类¶
与 MySQL 交互。 |
模块内容¶
- class airflow.providers.mysql.hooks.mysql.MySqlHook(*args, **kwargs)[source]¶
基类:
airflow.providers.common.sql.hooks.sql.DbApiHook
与 MySQL 交互。
您可以在连接的 extra 字段中指定字符集,例如
{"charset": "utf8"}
。您还可以选择游标类型,例如{"cursor": "SSCursor"}
。有关更多详细信息,请参阅 MySQLdb.cursors。注意:对于 AWS IAM 认证,请在连接的 extra 参数中使用 iam 并将其设置为 true。将密码字段留空。除非您在 extras 中覆盖,否则这将使用“aws_default”连接获取临时令牌。extras 示例:
{"iam":true, "aws_conn_id":"my_aws_conn"}
您还可以添加“local_infile”参数来确定是否启用 MySQL 客户端的 local_infile 功能(默认禁用)。
- 参数:
schema – 要连接的 MySQL 数据库模式。
connection – 用于 MySQL 凭据的 MySQL 连接 ID。
local_infile – 确定是否应使用 local_infile 的布尔标志
init_command – 连接到 MySQL 服务器时要执行的初始命令
- set_autocommit(conn, autocommit)[source]¶
设置 autocommit。
mysqlclient 使用 autocommit 方法而不是 autocommit 属性,因此我们需要重写此方法来支持它。
- 参数:
conn (MySQLConnectionTypes) – 要设置 autocommit 设置的连接
autocommit (bool) – autocommit 设置
- get_autocommit(conn)[source]¶
autocommit 是否处于活动状态。
mysqlclient 使用 get_autocommit 方法而不是 autocommit 属性,因此我们需要重写此方法来支持它。
- 参数:
conn (MySQLConnectionTypes) – 要从中获取 autocommit 设置的连接。
- 返回:
连接 autocommit 设置
- 返回类型:
- get_conn()[source]¶
获取 MySQL 数据库连接。
通过从 Airflow 连接中提取连接配置来建立到 mysql 数据库的连接。
注意
默认情况下,它通过 mysqlclient 库连接到数据库。但您也可以选择 mysql-connector-python 库,该库允许您通过 ssl 进行连接,而无需任何其他 ssl 参数。
- 返回:
一个 mysql 连接对象
- 返回类型:
MySQLConnectionTypes
- get_iam_token(conn)[source]¶
检索连接到 MySQL 的临时密码。
使用 AWSHook 检索连接到 MySQL 的临时密码。端口是必需的。如果未提供,则使用默认端口 3306