airflow.providers.amazon.aws.hooks.redshift_data

屬性

FINISHED_STATE

FAILED_STATE

ABORTED_STATE

FAILURE_STATES

RUNNING_STATES

異常

RedshiftDataQueryFailedError

引發 Redshift Data 查詢失敗的錯誤。

RedshiftDataQueryAbortedError

引發 Redshift Data 查詢中止的錯誤。

QueryExecutionOutput

描述查詢執行的輸出。

RedshiftDataHook

與 Amazon Redshift Data API 互動。

模組內容

airflow.providers.amazon.aws.hooks.redshift_data.FINISHED_STATE = 'FINISHED'[原始碼]
airflow.providers.amazon.aws.hooks.redshift_data.FAILED_STATE = 'FAILED'[原始碼]
airflow.providers.amazon.aws.hooks.redshift_data.ABORTED_STATE = 'ABORTED'[原始碼]
airflow.providers.amazon.aws.hooks.redshift_data.FAILURE_STATES[原始碼]
airflow.providers.amazon.aws.hooks.redshift_data.RUNNING_STATES[原始碼]
class airflow.providers.amazon.aws.hooks.redshift_data.QueryExecutionOutput[原始碼]

描述查詢執行的輸出。

statement_id: str[原始碼]
session_id: str | None[原始碼]
exception airflow.providers.amazon.aws.hooks.redshift_data.RedshiftDataQueryFailedError[原始碼]

基類: ValueError

引發 Redshift Data 查詢失敗的錯誤。

exception airflow.providers.amazon.aws.hooks.redshift_data.RedshiftDataQueryAbortedError[原始碼]

基類: ValueError

引發 Redshift Data 查詢中止的錯誤。

class airflow.providers.amazon.aws.hooks.redshift_data.RedshiftDataHook(*args, **kwargs)[原始碼]

基類: airflow.providers.amazon.aws.hooks.base_aws.AwsGenericHook[mypy_boto3_redshift_data.RedshiftDataAPIServiceClient]

與 Amazon Redshift Data API 互動。

提供圍繞 boto3.client("redshift-data") 的輕量級封裝。

可以指定其他引數(例如 aws_conn_id),並將它們傳遞給底層的 AwsBaseHook。

execute_query(sql, database=None, cluster_identifier=None, db_user=None, parameters=None, secret_arn=None, statement_name=None, with_event=False, wait_for_completion=True, poll_interval=10, workgroup_name=None, session_id=None, session_keep_alive_seconds=None)[原始碼]

對 Amazon Redshift 執行語句。

引數:
  • sql (str | list[str]) – 要執行的 SQL 語句或 SQL 語句列表

  • database (str | None) – 資料庫名稱

  • cluster_identifier (str | None) – 叢集唯一識別符號

  • db_user (str | None) – 資料庫使用者名稱

  • parameters (collections.abc.Iterable | None) – SQL 語句的引數

  • secret_arn (str | None) – 啟用資料庫訪問的 Secret 名稱或 ARN

  • statement_name (str | None) – SQL 語句名稱

  • with_event (bool) – 是否向 EventBridge 傳送事件

  • wait_for_completion (bool) – 是否等待結果

  • poll_interval (int) – 檢查查詢狀態的頻率(單位:秒)

  • workgroup_name (str | None) – Redshift 無伺服器工作組名稱。與 cluster_identifier 引數互斥。指定此引數以查詢 Redshift 無伺服器。更多資訊請參閱 https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-serverless.html

  • session_id (str | None) – 查詢會話識別符號

  • session_keep_alive_seconds (int | None) – 查詢完成後保持會話活動的持續時間(單位:秒)。會話保持活動的最長時間為 24 小時

返回 statement_id:

str,語句的 UUID

返回型別:

QueryExecutionOutput

wait_for_results(statement_id, poll_interval)[原始碼]
check_query_is_finished(statement_id)[原始碼]

檢查查詢是否完成,如果失敗則引發異常。

parse_statement_response(resp)[原始碼]

解析 describe_statement 的響應。

get_table_primary_key(table, database, schema='public', cluster_identifier=None, workgroup_name=None, db_user=None, secret_arn=None, statement_name=None, with_event=False, wait_for_completion=True, poll_interval=10)[原始碼]

返回表主鍵。

複製自 RedshiftSQLHook.get_table_primary_key()

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

  • database (str) – 資料庫名稱

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

  • cluster_identifier (str | None) – 叢集唯一識別符號

  • workgroup_name (str | None) – Redshift 無伺服器工作組名稱。與 cluster_identifier 引數互斥。指定此引數以查詢 Redshift 無伺服器。更多資訊請參閱 https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-serverless.html

  • db_user (str | None) – 資料庫使用者名稱

  • secret_arn (str | None) – 啟用資料庫訪問的 Secret 名稱或 ARN

  • statement_name (str | None) – SQL 語句名稱

  • with_event (bool) – 指示是否向 EventBridge 傳送事件

  • wait_for_completion (bool) – 指示是否等待結果,如果為 True 則等待,如果為 False 則不等待

  • poll_interval (int) – 檢查查詢狀態的頻率(單位:秒)

返回值:

主鍵列列表

返回型別:

list[str] | None

async is_still_running(statement_id)[原始碼]

檢查查詢是否仍在執行的非同步函式。

引數:

statement_id (str) – 語句的 UUID

async check_query_is_finished_async(statement_id)[原始碼]

檢查語句是否完成的非同步函式。

它接受 statement_id,非同步連線到 Redshift Data 以根據 statement_id 獲取查詢狀態並返回查詢狀態。

引數:

statement_id (str) – 語句的 UUID

此條目是否有幫助?