> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://apidocs.polytomic.com/2023-04-25/configuring-your-connections/connections/aws-s-3/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://apidocs.polytomic.com/_mcp/server. # S3 Supports: * ✅ Models * ✅ Model sync destination * ✅ Bulk sync source * ✅ Bulk sync destination ## Connection ### Configuration
NameTypeDescriptionRequired
auth_mode string Authentication method

How to authenticate with AWS. Defaults to Access Key and Secret. Accepted values: `access_key_and_secret` ↓, `iam_role` ↓
true
csv_has_headers boolean CSV files have headers

Whether CSV files have a header row with field names.
false
enable_event_notifications boolean Enable event notifications

Enable S3 event notifications for incremental sync ↓
false
is_single_table boolean Files are time-based snapshots

Treat the files as a single table. ↓
false
s3_bucket_name string S3 bucket name

Bucket name (folder optional); ex: s3://polytomic/dataset
true
s3_bucket_region string S3 bucket region true

`auth_mode`

When `auth_mode` is `access_key_and_secret`
NameTypeDescriptionRequired
aws_access_key_id string AWS access key ID

Access Key ID with read/write access to a bucket.
true
aws_secret_access_key string AWS secret access key true
When `auth_mode` is `iam_role`
NameTypeDescriptionRequired
iam_role_arn string IAM role ARN true

`enable_event_notifications`

When `enable_event_notifications` is `true`
NameTypeDescriptionRequired
event_queue_arn string Event queue ARN

ARN of the SQS queue receiving S3 event notifications
true
propagate_file_deletions boolean Propagate file deletion events

When a file is deleted from the bucket, soft-delete the corresponding records in supported destinations on the next sync. Requires the record key to be captured from the file path.
false

`is_single_table`

When `is_single_table` is `true`
NameTypeDescriptionRequired
is_directory_snapshot boolean Multi-directory multi-table false
When `is_single_table` is `true` AND `is_directory_snapshot` is `false`
NameTypeDescriptionRequired
single_table_file_format string File format

Accepted values: `csv`, `json`, `parquet`
false
single_table_name string Collection name false
When `is_single_table` is `true` AND `is_directory_snapshot` is `true`
NameTypeDescriptionRequired
single_table_file_formats array File formats that may be present across different tables false

`is_directory_snapshot`

When `is_directory_snapshot` is `true`
NameTypeDescriptionRequired
directory_glob_pattern string Tables glob path true

`single_table_file_format`

When `single_table_file_format` is `csv` OR `single_table_file_formats` contains `csv`
NameTypeDescriptionRequired
skip_lines integer Skip first lines

Skip first N lines of each CSV file.
false
#### Example ```json { "name": "S3 connection", "type": "s3", "configuration": { "auth_mode": "access_key_and_secret", "aws_access_key_id": "AKIAIOSFODNN7EXAMPLE", "aws_secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "csv_has_headers": false, "enable_event_notifications": false, "is_single_table": false, "s3_bucket_name": "s3://polytomic/dataset", "s3_bucket_region": "us-east-1" } } ``` ### Read-only properties
NameTypeDescriptionRequired

`auth_mode`

When `auth_mode` is `access_key_and_secret`
NameTypeDescriptionRequired
aws_user string User ARN false
When `auth_mode` is `iam_role`
NameTypeDescriptionRequired
external_id string External ID for the IAM role false
## Model Sync ### Source #### Configuration
NameTypeDescriptionRequired
file_format string File format

Accepted values: `csv`, `json`, `parquet`
false
key string Object key

The key of the object in the bucket to read from.
false
model_from string Files

The model is generated from a single file or a multi-file archive. Accepted values: `single_file`, `multi_file_archive`
true
skip_lines integer Skip first lines

Skip first N lines of each CSV file.
false
subfolder string Subfolder to read files from from (optional) false
#### Example ```json { ... "configuration": { "file_format": "", "key": "", "model_from": "", "skip_lines": 0, "subfolder": "" } } ``` ### Target S3 connections may be used as the destination in a model sync. #### All targets ##### Configuration
NameTypeDescriptionRequired
format string Output format

Output file encoding. Accepted values: `csv`, `json-doc`, `json`, `parquet`
false
##### Example ```json { ... "target": { "configuration": { "format": "csv" } } } ``` ## Bulk Sync ### Source S3 connections may be used as a bulk sync source. No additional configuration options are required. ### Destination #### Configuration
NameTypeDescriptionRequired
advanced object false
format string Output file encoding false
subfolder string Subfolder to write to (optional) false
#### Example ```json { ... "destination_configuration": { "advanced": { "write_incremental": false }, "format": "csv", "subfolder": "reports" } } ```