# Amazon S3 Listener

Learn more about this Listener type in [this article](https://app.gitbook.com/s/kxZeV4nlXcIAjMGZxzLI/the-workspace/listeners/listener-integrations/collect-data-from-aws-products/collect-data-from-amazon-s3).

<details>

<summary>v2.2.0</summary>

<mark style="background-color:purple;">**Released on**</mark> <mark style="background-color:purple;"></mark><mark style="background-color:purple;">01/28/2026</mark>

New fields for S3 traffic events:

* `bucket_name`
* `object_path`
* `aws_region`
* `sqs_aws_region`
* `sqs_queue_url`
* `sqs_event_time`
* `s3_event_name`
* `sqs_event_source_arn`

These fields represent data points captured when monitoring Amazon S3 bucket activity through SQS (Simple Queue Service) notifications.

</details>

<details>

<summary>v2.1.0</summary>

<mark style="background-color:purple;">**Released on**</mark> <mark style="background-color:purple;"></mark><mark style="background-color:purple;">12/11/2025</mark>

Added the possibility to use external S3 buckets and SQS queues using `AssumeRole`. Assume Role is an AWS Identity and Access Management (IAM) feature that enables secure, temporary access to S3 buckets and objects without sharing long-term credentials.

</details>

<details>

<summary>v2.0.1</summary>

<mark style="background-color:purple;">**Released on**</mark> <mark style="background-color:purple;"></mark><mark style="background-color:purple;">11/24/2025</mark>

* New **JSON** type where you can specify the path you want to retrieve and if you want to generate one event for each array element or the whole element.
* Element selection will discard data that is not pointed by the path so the whole document does not need to be stored in memory at once.

</details>

<details>

<summary>v1.2.0</summary>

<mark style="background-color:purple;">**Released on**</mark> <mark style="background-color:purple;"></mark><mark style="background-color:purple;">10/30/2025</mark>

* Added support for configurable authentication type: auto (e.g., EC2 IAM role) or manual (static credentials).
* Improved JSON Lines parsing: trailing newline at the end of the file is now optional.
* **Added CSV format support**: Full support for processing CSV files from S3 buckets.
  * **Streaming CSV processing** using Go's builtin `encoding/csv` package with memory usage bounded independently of file size
  * **Dual output modes**: CSV (preserves original formatting) or JSON (converts to structured objects)
  * **Comprehensive CSV configuration options**:
    * Header row handling (with/without headers)
    * Custom delimiters (comma, semicolon, tab, or custom)
    * Text encoding support (UTF-8, UTF-16, ISO-8859-1, Windows-1252)
    * Advanced parsing options (trimLeadingSpace, lazyQuotes, fieldsPerRecord, comment character)
  * **Auto-detection**: CSV files with `.csv` extension are automatically detected when format is set to "auto"
  * **Robust error handling**: Malformed CSV records are logged and skipped without stopping processing

</details>

<details>

<summary>v1.0.0</summary>

<mark style="background-color:purple;">**Released on**</mark> <mark style="background-color:purple;"></mark><mark style="background-color:purple;">06/04/2025</mark>

* Added support for configurable authentication type: auto (e.g.,\
  EC2 IAM role) or manual (static credentials).
* Improved JSON Lines parsing: trailing newline at the end of the file is now\
  optional.

</details>

<details>

<summary>v0.0.1</summary>

<mark style="background-color:purple;">**Released on**</mark> <mark style="background-color:purple;"></mark><mark style="background-color:purple;">03/25/2025</mark>

Initial version

</details>
