> ## Documentation Index
> Fetch the complete documentation index at: https://www.integrate.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ETL: Amazon S3 Destination

> How to configure the Amazon S3 destination component to write files to an S3 bucket in your Integrate.io ETL pipeline.

The Amazon S3 destination writes pipeline output to an S3 bucket. It supports CSV, TSV, JSON, Parquet, and Fixed width output formats, with optional compression and PGP encryption.

Once your connection is set up, see [File Storage Options](/docs/etl/file-storage-options) for the full set of write options (output formats, compression, PGP, and more) shared across every file storage provider.

## Connection Setup

See [Amazon S3 Source](/docs/etl/using-components-amazon-s3-source#connection-setup) for steps to create an IAM user, attach the required policy, and set up the connection in Integrate.io ETL. For a destination pipeline, the IAM user needs `s3:ListBucket`, `s3:PutObject`, `s3:GetObject`, and `s3:DeleteObject` on the target bucket.

***

## Destination Configuration

### Connection

Select your Amazon S3 connection from the dropdown, or create a new one.

### Bucket

Enter the name of the S3 bucket where output files will be written.

### Target Directory

The path within the bucket where output files are created. One or more files will be written to this directory. By default, the job fails if the directory already exists. Use [package variables](/docs/etl/using-and-setting-variables-in-your-packages) to generate unique directory names per run (e.g. `/output/${_JOB_ID}`).

<Snippet file="snippets/file-storage-destination-options.mdx" />

***

## FAQ

**What permissions does the IAM user need for a destination pipeline?**

The IAM user needs `s3:ListBucket` on the bucket and `s3:PutObject`, `s3:GetObject`, and `s3:DeleteObject` on its objects. All three object actions are required because Integrate.io finalizes output files with a copy-and-delete operation.

**Can I write to a different bucket than the one I read from?**

Yes. The source and destination components each have their own connection and bucket settings. You can use different buckets, different IAM users, or even different AWS accounts.

**Does S3 support all destination action options?**

Yes. All five destination action options are available for Amazon S3.

***

## Related

<CardGroup cols={2}>
  <Card title="Amazon S3 Source" icon="arrow-right" href="/docs/etl/using-components-amazon-s3-source" horizontal />

  <Card title="File Storage Options" icon="arrow-right" href="/docs/etl/file-storage-options" horizontal />

  <Card title="Using Variables in Packages" icon="arrow-right" href="/docs/etl/using-and-setting-variables-in-your-packages" horizontal />

  <Card title="PGP Keys" icon="arrow-right" href="/docs/etl/pgp-keys-account-level" horizontal />
</CardGroup>
