blob: e54a48b2a7fd4106044367f8446e3074bdee4aeb [file] [log] [blame]
:py:mod:`airflow.providers.amazon.aws.transfers.redshift_to_s3`
===============================================================
.. py:module:: airflow.providers.amazon.aws.transfers.redshift_to_s3
.. autoapi-nested-parse::
Transfers data from AWS Redshift into a S3 Bucket.
Module Contents
---------------
Classes
~~~~~~~
.. autoapisummary::
airflow.providers.amazon.aws.transfers.redshift_to_s3.RedshiftToS3Operator
.. py:class:: RedshiftToS3Operator(*, s3_bucket, s3_key, schema = None, table = None, select_query = None, redshift_conn_id = 'redshift_default', aws_conn_id = 'aws_default', verify = None, unload_options = None, autocommit = False, include_header = False, parameters = None, table_as_file_name = True, **kwargs)
Bases: :py:obj:`airflow.models.BaseOperator`
Executes an UNLOAD command to s3 as a CSV with headers
.. seealso::
For more information on how to use this operator, take a look at the guide:
:ref:`howto/operator:RedshiftToS3Operator`
:param s3_bucket: reference to a specific S3 bucket
:param s3_key: reference to a specific S3 key. If ``table_as_file_name`` is set
to False, this param must include the desired file name
:param schema: reference to a specific schema in redshift database
Applicable when ``table`` param provided.
:param table: reference to a specific table in redshift database
Used when ``select_query`` param not provided.
:param select_query: custom select query to fetch data from redshift database
:param redshift_conn_id: reference to a specific redshift database
:param aws_conn_id: reference to a specific S3 connection
If the AWS connection contains 'aws_iam_role' in ``extras``
the operator will use AWS STS credentials with a token
https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-authorization.html#copy-credentials
:param verify: Whether or not to verify SSL certificates for S3 connection.
By default SSL certificates are verified.
You can provide the following values:
- ``False``: do not validate SSL certificates. SSL will still be used
(unless use_ssl is False), but SSL certificates will not be
verified.
- ``path/to/cert/bundle.pem``: A filename of the CA cert bundle to uses.
You can specify this argument if you want to use a different
CA cert bundle than the one used by botocore.
:param unload_options: reference to a list of UNLOAD options
:param autocommit: If set to True it will automatically commit the UNLOAD statement.
Otherwise it will be committed right before the redshift connection gets closed.
:param include_header: If set to True the s3 file contains the header columns.
:param parameters: (optional) the parameters to render the SQL query with.
:param table_as_file_name: If set to True, the s3 file will be named as the table.
Applicable when ``table`` param provided.
.. py:attribute:: template_fields
:annotation: :Sequence[str] = ['s3_bucket', 's3_key', 'schema', 'table', 'unload_options', 'select_query']
.. py:attribute:: template_ext
:annotation: :Sequence[str] = ['.sql']
.. py:attribute:: template_fields_renderers
.. py:attribute:: ui_color
:annotation: = #ededed
.. py:method:: execute(context)
This is the main method to derive when creating an operator.
Context is the same dictionary used as when rendering jinja templates.
Refer to get_template_context for more context.