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 查询。

此条目有帮助吗?