Module Contents

class airflow.operators.s3_file_transform_operator.S3FileTransformOperator(source_s3_key, dest_s3_key, transform_script=None, select_expression=None, source_aws_conn_id='aws_default', source_verify=None, dest_aws_conn_id='aws_default', dest_verify=None, replace=False, *args, **kwargs)[source]

Bases: airflow.models.BaseOperator

Copies data from a source S3 location to a temporary location on the local filesystem. Runs a transformation on this file as specified by the transformation script and uploads the output to a destination S3 location.

The locations of the source and the destination files in the local filesystem is provided as an first and second arguments to the transformation script. The transformation script is expected to read the data from source, transform it and write the output to the local destination file. The operator then takes over control and uploads the local destination file to S3.

S3 Select is also available to filter the source contents. Users can omit the transformation script if S3 Select expression is specified.

  • source_s3_key (str) – The key to be retrieved from S3. (templated)

  • source_aws_conn_id (str) – source s3 connection

  • source_verify (bool or str) –

    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.

    This is also applicable to dest_verify.

  • dest_s3_key (str) – The key to be written from S3. (templated)

  • dest_aws_conn_id (str) – destination s3 connection

  • replace (bool) – Replace dest S3 key if it already exists

  • transform_script (str) – location of the executable transformation script

  • select_expression (str) – S3 Select expression

template_fields = ['source_s3_key', 'dest_s3_key'][source]
template_ext = [][source]
ui_color = #f9c915[source]
execute(self, context)[source]