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)[source]

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

針對 Amazon Redshift 執行語句。

此 Hook 需要 redshift_conn_id 連線。

注意:對於 AWS IAM 認證,請在額外連線引數中使用 iam 並將其設定為 true。將密碼欄位留空。這將使用 “aws_default” 連接獲取臨時令牌,除非您在初始化 Hook 時透過 aws_conn_id 進行覆蓋。叢集識別符號是從 host 欄位的開頭提取的,因此是可選的。但可以在 extra 欄位中覆蓋它。extras 示例:{"iam":true}

引數:

redshift_conn_id – 對 Amazon Redshift 連線 ID 的引用

注意

get_sqlalchemy_engine() 和 get_uri() 依賴於 sqlalchemy-amazon-redshift

conn_name_attr = 'redshift_conn_id'[source]
default_conn_name = 'redshift_default'[source]
conn_type = 'redshift'[source]
hook_name = 'Amazon Redshift'[source]
supports_autocommit = True[source]
aws_conn_id = 'aws_default'[source]
classmethod get_ui_field_behaviour()[source]

獲取自定義欄位行為。

property conn[source]
get_iam_token(conn)[source]

獲取連線 Redshift 的臨時密碼。

埠是必需的。如果未提供,則對每個服務使用預設埠。

get_uri()[source]

已覆蓋,使用 Redshift 方言作為驅動程式名稱。

get_sqlalchemy_engine(engine_kwargs=None)[source]

已覆蓋,用於傳遞 Redshift 特定的引數。

get_table_primary_key(table, schema='public')[source]

獲取表的主鍵。

引數:
  • table (str) – 目標表的名稱

  • schema (str | None) – 目標模式的名稱,預設為 public

返回值:

主鍵列列表

返回型別:

list[str] | None

get_conn()[source]

獲取 redshift_connector.Connection 物件。

get_openlineage_database_info(connection)[source]

返回用於 OpenLineage 的 Redshift 特定資訊。

get_openlineage_database_dialect(connection)[source]

返回 Redshift 方言。

get_openlineage_default_schema()[source]

返回當前模式。這通常透過 SEARCH_PATH 引數更改。

此條目有幫助嗎?