AWS S3 CSV

tap-s3-csv (s7clarke10 variant)🥈

Extract CSV files from S3

The tap-s3-csv extractor pulls data from AWS S3 CSV that can then be sent to a destination using a loader.

Alternate Implementations

Getting Started

Prerequisites

If you haven't already, follow the initial steps of the Getting Started guide:

  1. Install Meltano
  2. Create your Meltano project

Installation and configuration

  1. Add the tap-s3-csv extractor to your project using
    meltano add
    :
  2. meltano add extractor tap-s3-csv --variant s7clarke10
  3. Configure the tap-s3-csv settings using
    meltano config
    :
  4. meltano config tap-s3-csv set --interactive
  5. Test that extractor settings are valid using
    meltano config
    :
  6. meltano config tap-s3-csv test

Next steps

If you run into any issues, learn how to get help.

Capabilities

The current capabilities for tap-s3-csv may have been automatically set when originally added to the Hub. Please review the capabilities when using this extractor. If you find they are out of date, please consider updating them by making a pull request to the YAML file that defines the capabilities for this extractor.

This plugin has the following capabilities:

  • discover
  • properties
  • state

You can override these capabilities or specify additional ones in your meltano.yml by adding the capabilities key.

Settings

The tap-s3-csv settings that are known to Meltano are documented below. To quickly find the setting you're looking for, click on any setting name from the list:

You can also list these settings using

meltano config
with the list subcommand:

meltano config tap-s3-csv list

You can override these settings or specify additional ones in your meltano.yml by adding the settings key.

Please consider adding any settings you have defined locally to this definition on MeltanoHub by making a pull request to the YAML file that defines the settings for this plugin.

AWS S3 Access Key ID (aws_access_key_id)

  • Environment variable: TAP_S3_CSV_AWS_ACCESS_KEY_ID

S3 Access Key Id. If not provided, aws_profile or AWS_ACCESS_KEY_ID environment variable will be used.


Configure this setting directly using the following Meltano command:

meltano config tap-s3-csv set aws_access_key_id [value]

AWS Endpoint URL (aws_endpoint_url)

  • Environment variable: TAP_S3_CSV_AWS_ENDPOINT_URL

The AWS endpoint URL.


Configure this setting directly using the following Meltano command:

meltano config tap-s3-csv set aws_endpoint_url [value]

AWS profile name (aws_profile)

  • Environment variable: TAP_S3_CSV_AWS_PROFILE

Optional - AWS profile name for profile based authentication. If not provided, AWS_PROFILE environment variable will be used.


Configure this setting directly using the following Meltano command:

meltano config tap-s3-csv set aws_profile [value]

AWS S3 Secret Access Key (aws_secret_access_key)

  • Environment variable: TAP_S3_CSV_AWS_SECRET_ACCESS_KEY

S3 Secret Access Key. If not provided, aws_profile or AWS_ACCESS_KEY_ID environment variable will be used.


Configure this setting directly using the following Meltano command:

meltano config tap-s3-csv set aws_secret_access_key [value]

AWS S3 Session Token (aws_session_token)

  • Environment variable: TAP_S3_CSV_AWS_SESSION_TOKEN

Optional - S3 AWS STS token for temporary credentials. If not provided, AWS_SESSION_TOKEN environment variable will be used.


Configure this setting directly using the following Meltano command:

meltano config tap-s3-csv set aws_session_token [value]

Bucket (bucket)

  • Environment variable: TAP_S3_CSV_BUCKET

AWS S3 bucket name


Configure this setting directly using the following Meltano command:

meltano config tap-s3-csv set bucket [value]

S3 Proxies (s3_proxies)

  • Environment variable: TAP_S3_CSV_S3_PROXIES

Optional - A dict of proxies settings for use of a proxy server. Set to {} to avoid using a proxy server for s3 traffic.


Configure this setting directly using the following Meltano command:

meltano config tap-s3-csv set s3_proxies [value]

Set Empty Values Null (set_empty_values_null)

  • Environment variable: TAP_S3_CSV_SET_EMPTY_VALUES_NULL

Optional - When set true will emit null (the JSON equivalent of None) instead of an empty string.


Configure this setting directly using the following Meltano command:

meltano config tap-s3-csv set set_empty_values_null [value]

Start Date (start_date)

  • Environment variable: TAP_S3_CSV_START_DATE

Determines how much historical data will be extracted. Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.


Configure this setting directly using the following Meltano command:

meltano config tap-s3-csv set start_date [value]

Table Suffix (table_suffix)

  • Environment variable: TAP_S3_CSV_TABLE_SUFFIX

Optional - If set will append a suffix on each of the tables to provide some uniqueness e.g. a date or supplier identifier.


Configure this setting directly using the following Meltano command:

meltano config tap-s3-csv set table_suffix [value]

Tables (tables)

  • Environment variable: TAP_S3_CSV_TABLES

An array that consists of one or more objects that describe how to find files and emit records. Required - table_name and search_pattern. Optional - key_properties, search_prefix, date_overrides, delimiter, remove_character, string_overrides, guess_types, encoding.

  • search_prefix - This is a prefix to apply after the bucket, but before the file search pattern, to allow you to find files in "directories" below the bucket. - search_pattern - This is an escaped regular expression that the tap will use to find files in the bucket + prefix. It's a bit strange, since this is an escaped string inside of an escaped string, any backslashes in the RegEx will need to be double-escaped. - table_name - This value is a string of your choosing, and will be used to name the stream that records are emitted under for files matching content. - key_properties - These are the "primary keys" of the CSV files, to be used by the target for deduplication and primary key definitions downstream in the destination. - date_overrides - Specifies field names in the files that are supposed to be parsed as a datetime. The tap doesn't attempt to automatically determine if a field is a datetime, so this will make it explicit in the discovered schema. - delimiter - This allows you to specify a custom delimiter, such as \t or |, if that applies to your files. - string_overrides - Specifies field names in the files that should be parsed as a string regardless of what was discovered. - guess_types - (default True) By default, column data types will be determined via scanning the first file in a table_spec. Set this to False to disable this and set all columns to string. - remove_character - Specifies a character which can be removed from each line in the the file e.g. "\"" will remove all double-quotes. - encoding - The encoding to use to read these files from codecs -> Standard Encodings

Configure this setting directly using the following Meltano command:

meltano config tap-s3-csv set tables [value]

Warning if no file (warning_if_no_file)

  • Environment variable: TAP_S3_CSV_WARNING_IF_NO_FILE

Optional - Will attempt to log a warning rather than error if there are no files found for the search criteria if the setting is set to true.


Configure this setting directly using the following Meltano command:

meltano config tap-s3-csv set warning_if_no_file [value]

Something missing?

This page is generated from a YAML file that you can contribute changes to.

Edit it on GitHub!

Looking for help?

If you're having trouble getting the tap-s3-csv extractor to work, look for an existing issue in its repository, file a new issue, or join the Meltano Slack community and ask for help in the
#plugins-general
channel.

Install

meltano add extractor tap-s3-csv --variant s7clarke10

Maintenance Status

  • Maintenance Status

Repo

https://github.com/s7clarke10/pipelinewise-tap-s3-csv
  • Stars
  • Forks
  • Last Commit Date
  • Open Issues
  • Open PRs
  • Contributors
  • License

Maintainer

  • Steve Clarke

Keywords

  • api