airflow.providers.amazon.aws.hooks.redshift_sql

模块内容

RedshiftSQLHook

针对 Amazon Redshift 执行语句。

class airflow.providers.amazon.aws.hooks.redshift_sql.RedshiftSQLHook(*args, aws_conn_id='aws_default', **kwargs)[源代码]

基类:airflow.providers.common.sql.hooks.sql.DbApiHook

针对 Amazon Redshift 执行语句。

此 Hook 需要 redshift_conn_id 连接。

注意:对于 AWS IAM 身份验证,请在额外的连接参数中使用 iam 并将其设置为 true。将密码字段留空。这将使用“aws_default”连接来获取临时令牌,除非您在初始化 Hook 时使用 aws_conn_id 覆盖它。集群标识符是从主机字段的开头提取的,因此是可选的。但是,可以在 extra 字段中覆盖它。extra 示例:{"iam":true}

参数

redshift_conn_id – 引用 Amazon Redshift 连接 id

注意

get_sqlalchemy_engine() 和 get_uri() 依赖于 sqlalchemy-amazon-redshift

conn_name_attr = 'redshift_conn_id'[源代码]
default_conn_name = 'redshift_default'[源代码]
conn_type = 'redshift'[源代码]
hook_name = 'Amazon Redshift'[源代码]
supports_autocommit = True[源代码]
classmethod get_ui_field_behaviour()[源代码]

获取自定义字段行为。

conn()[源代码]
get_iam_token(conn)[源代码]

检索用于连接到 Redshift 的临时密码。

需要端口。如果没有提供,则对每个服务使用默认端口。

get_uri()[源代码]

重写以使用 Redshift 方言作为驱动程序名称。

get_sqlalchemy_engine(engine_kwargs=None)[源代码]

重写以传递 Redshift 特定的参数。

get_table_primary_key(table, schema='public')[源代码]

获取表的主键。

参数
  • table (str) – 目标表的名称

  • schema (str | None) – 目标模式的名称,默认为 public

返回

主键列列表

返回类型

list[str] | None

get_conn()[源代码]

获取一个 redshift_connector.Connection 对象。

get_openlineage_database_info(connection)[源代码]

返回 OpenLineage 的 Redshift 特定信息。

get_openlineage_database_dialect(connection)[源代码]

返回 redshift 方言。

get_openlineage_default_schema()[源代码]

返回当前模式。这通常使用 SEARCH_PATH 参数更改。

此条目是否有帮助?