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:
Installation and configuration
-
Add the tap-s3-csv extractor to your
project using
:meltano add
-
Configure the tap-s3-csv
settings using
:meltano config
-
Test that extractor settings are valid using
:meltano config
meltano add extractor tap-s3-csv
meltano config tap-s3-csv set --interactive
meltano config tap-s3-csv test
Next steps
Follow the remaining steps of the Getting Started guide:
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:
aws_access_key_id
aws_endpoint_url
aws_profile
aws_secret_access_key
aws_session_token
bucket
s3_proxies
set_empty_values_null
start_date
table_suffix
tables
warning_if_no_file
You can also list these settings using
with the meltano config
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
, datatype_overrides
, 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.datatype_overrides
- A object / dictionary of header names in the file and any override datatype other than string you with to set as the datatype. Example config: "datatype_overrides":{"administration_number":"integer","percentage": "number","grade":"integer"}.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
- DEPRECATED: Specifies field names in the files that should be parsed as a string regardless of what was discovered.guess_types
- DEPRECATED: (defaultTrue
) By default, column data types will be determined via scanning the first file in a table_spec. Set this toFalse
to disable this and set all columns tostring
.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?
#plugins-general
channel.