airflow.providers.amazon.aws.operators.redshift_data

RedshiftDataOperator

使用 Redshift Data 對 Amazon Redshift 叢集執行 SQL 語句。

模組內容

class airflow.providers.amazon.aws.operators.redshift_data.RedshiftDataOperator(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, return_sql_result=False, workgroup_name=None, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), session_id=None, session_keep_alive_seconds=None, **kwargs)[原始碼]

基類: airflow.providers.amazon.aws.operators.base_aws.AwsBaseOperator[airflow.providers.amazon.aws.hooks.redshift_data.RedshiftDataHook]

使用 Redshift Data 對 Amazon Redshift 叢集執行 SQL 語句。

…另見:

有關如何使用此運算子的更多資訊,請參閱指南: 在 Amazon Redshift 叢集上執行語句

引數:
  • database (str | None) – 資料庫的名稱

  • sql (str | list) – 要執行的 SQL 語句或 SQL 語句列表

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

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

  • parameters (list | None) – SQL 語句的引數

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

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

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

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

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

  • return_sql_result (bool) – 如果為 True,將返回 SQL 語句的結果;如果為 False(預設),將返回語句 ID

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

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

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

  • aws_conn_id – 用於 AWS 憑證的 Airflow 連線。如果為 None 或為空,則使用預設的 boto3 行為。如果在分散式環境中執行 Airflow 且 aws_conn_id 為 None 或為空,則將使用預設的 boto3 配置(且必須在每個 worker 節點上維護)。

  • region_name – AWS region_name。如果未指定,則使用預設的 boto3 行為。

  • verify – 是否驗證 SSL 證書。參見: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html

  • botocore_config – botocore 客戶端的配置字典(鍵值對)。參見: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html

aws_hook_class[原始碼]
template_fields[原始碼]
template_ext = ('.sql',)[原始碼]
template_fields_renderers[原始碼]
database = None[原始碼]
sql[原始碼]
cluster_identifier = None[原始碼]
workgroup_name = None[原始碼]
db_user = None[原始碼]
parameters = None[原始碼]
secret_arn = None[原始碼]
statement_name = None[原始碼]
with_event = False[原始碼]
wait_for_completion = True[原始碼]
return_sql_result = False[原始碼]
deferrable = True[原始碼]
session_id = None[原始碼]
session_keep_alive_seconds = None[原始碼]
execute(context)[原始碼]

對 Amazon Redshift 執行語句。

execute_complete(context, event=None)[原始碼]
get_sql_results(statement_id, return_sql_result)[原始碼]

檢索 SQL 查詢結果或語句 ID。

引數:
  • statement_id (str) – 正在執行的查詢的語句 ID

  • return_sql_result (bool) – 布林值,如果應返回結果則為 true

on_kill()[原始碼]

取消提交的 redshift 查詢。

此條目有幫助嗎?