:py:mod:`airflow.providers.amazon.aws.operators.redshift_data`
==============================================================

.. py:module:: airflow.providers.amazon.aws.operators.redshift_data


Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.amazon.aws.operators.redshift_data.RedshiftDataOperator




.. py:class:: RedshiftDataOperator(database, sql, cluster_identifier = None, db_user = None, parameters = None, secret_arn = None, statement_name = None, with_event = False, await_result = True, poll_interval = 10, aws_conn_id = 'aws_default', region = None, **kwargs)

   Bases: :py:obj:`airflow.models.BaseOperator`

   Executes SQL Statements against an Amazon Redshift cluster using Redshift Data

   .. seealso::
       For more information on how to use this operator, take a look at the guide:
       :ref:`howto/operator:RedshiftDataOperator`

   :param database: the name of the database
   :param sql: the SQL statement text to run
   :param cluster_identifier: unique identifier of a cluster
   :param db_user: the database username
   :param parameters: the parameters for the SQL statement
   :param secret_arn: the name or ARN of the secret that enables db access
   :param statement_name: the name of the SQL statement
   :param with_event: indicates whether to send an event to EventBridge
   :param await_result: indicates whether to wait for a result, if True wait, if False don't wait
   :param poll_interval: how often in seconds to check the query status
   :param aws_conn_id: aws connection to use
   :param region: aws region to use

   .. py:attribute:: template_fields
      :annotation: = ['cluster_identifier', 'database', 'sql', 'db_user', 'parameters', 'statement_name',...

      

   .. py:attribute:: template_ext
      :annotation: = ['.sql']

      

   .. py:attribute:: template_fields_renderers
      

      

   .. py:method:: hook(self)

      Create and return an RedshiftDataHook.


   .. py:method:: execute_query(self)


   .. py:method:: wait_for_results(self, statement_id)


   .. py:method:: execute(self, context)

      Execute a statement against Amazon Redshift


   .. py:method:: on_kill(self)

      Cancel the submitted redshift query



