Amazon S3 destination
Renta writes data from any connected source into your own Amazon S3 bucket as Parquet objects, laid out one folder per pipeline and refreshed on every run.
Renta uploads the files itself over the AWS API. Nothing in your bucket has to be publicly reachable, and no inbound access to your infrastructure is involved.
Requirements
The connection needs an IAM identity, a bucket that already exists, and the region that bucket lives in.
- An IAM user with S3 permissions on the bucket.
Renta lists, uploads, downloads, and deletes objects inside the folders it manages, which maps tos3:ListBucket,s3:PutObject,s3:GetObject, ands3:DeleteObject. - An existing bucket.
Renta never creates the bucket. It creates only the folders inside it. - The correct region.
The connection is signed for one region. A bucket in a different region fails the same way as a missing permission.
Connect the destination
A connection stores one bucket, one region, and the access keys Renta signs its requests with.
Connect Amazon S3 as a destination
Follow these steps to add your S3 bucket as a destination in Renta.
- In the Renta console, open Connections > Catalog in the left sidebar.
- Expand the Data lake category and click the Amazon S3 card.

Fill in the credentials of the IAM user you prepared:
- AWS Access Key.
The access key ID of the IAM user. - AWS Secret Access Key.
The secret shown once when the key pair was created. - AWS Bucket Name.
The bucket Renta writes into. Enter the bare name withouts3://and without a path.

- AWS region.
Start typing the city or the region id to narrow the list. - Click the region your bucket belongs to. Each entry shows its region id below the name, such as
eu-central-1.

Fill in Destination name, a label used only inside the Renta console, and click Save.
On Save, Renta checks that the bucket exists and answers to the supplied keys in the selected region. Wrong keys, a wrong region, or a misspelled bucket return an error right away instead of failing on the first pipeline run.

The connection appears in the Destinations list with the Active status and is ready for pipelines.

Create a pipeline
A pipeline links one source to the S3 connection. The steps below use Stripe as the source, and the same flow applies to any other source.
Create a pipeline into Amazon S3
Link a data source to your S3 bucket and configure the pipeline.
In the left sidebar, click New pipeline. Keep the ETL tab selected, pick a source under Already connected, and click Next step.

Choose the connection you want to read from and click Next step.

On the Destination step, select Amazon S3 under Already connected and click Next step.

Pick the S3 connection to write into and click Next step. Each card shows the bucket name and its region, which helps when a workspace holds several buckets.

Pipeline configuration
The last step of the wizard holds every setting of the pipeline in one scrolling form. The top of the form belongs to the source, the rest applies to any destination.
Source settings
The first block defines what to extract. Its contents depend on the source, and for Stripe it starts with the report type.

Next, tick the fields you want to load. Every field you select becomes a column inside the Parquet files, and fields you leave out are never written.

Under each field, Renta shows the name its column will get. Select All ticks the whole list at once.
Integration and folder name
The second block names the pipeline in Renta and the folder in your bucket.

- Integration name.
The display name of the pipeline in the Renta console. - Table name.
For a data lake this is the folder name inside the bucket. Keep the generated name or type your own.
Renta clears a folder by listing everything under its prefix, so a folder named stripe also covers stripe_invoices. Give each pipeline a folder name that is not a prefix of another one, otherwise a full reload of the shorter folder wipes the longer one.
Date range
The date range sets how much history the first run loads and how far a manual reload reaches back.

- Date start.
The first day of the extraction period. - Date end.
The last day, either a fixed date or a moving boundary such as Today.
A manual Full refresh from the pipeline overview reloads this whole period again.
Overwrite period
The overwrite period defines how far back each scheduled run rewrites data that has already been uploaded. It applies to report types that carry a date and produce date-partitioned folders.

Renta deletes the objects of the selected days and uploads them again with fresh values. Without overwrite data keeps the uploaded history untouched and adds only the days that follow the previous run.
Schedule
The schedule decides how often Renta refreshes the folder. Renta reads the times you set here in UTC.

| Schedule type | Description |
|---|---|
| Manual | The pipeline runs only when triggered from the Renta console or through the API. |
| Daily | The pipeline runs once a day at the specified update time. |
| Interval | The pipeline runs at specified time intervals. |
| Cron Expression | The pipeline runs on a schedule defined by a cron expression. |
For Daily schedules, set the Update time (the exact time each run starts), then click Create pipeline.

Renta also supports API triggers and orchestrators such as Apache Airflow, Dagster, and Prefect. See the scheduling documentation for details.
The pipeline appears in the Pipelines section under the ETL tab, together with the folder name, run progress, and the number of extracted rows.

Bucket layout
Everything a pipeline writes lives under its own folder, and the shape inside that folder depends on whether the data carries a date.
| Data | Object key |
|---|---|
| Date-partitioned report types | <folder>/<YYYY-MM-DD>/<file>.parquet |
| Everything else | <folder>/<file>.parquet |
The date prefix is what makes the overwrite window cheap: Renta removes the objects of the affected days instead of the whole folder. It is also the layout that Athena, Glue, and Spark expect, so the partitions are discovered without extra configuration.
Alongside the folder, Renta keeps a zero-byte object named exactly like it. The object marks the folder and holds no data.
Sync strategy
How Renta refreshes the folder depends on the source and on the pipeline settings.
| Strategy | When Renta uses it | Description |
|---|---|---|
| Full reload | Report types without a date column, and any pipeline with an unpartitioned folder | Renta deletes every object under the folder prefix and uploads the full extract again, so the folder matches the source at the moment of the run. |
| Incremental | Report types with a date column and a date-partitioned folder | Renta deletes the objects of the overwrite window by their date prefix and uploads those days again. Days older than the window stay as they were. |
Amazon S3 has no incremental merge mode. Sources that upsert changed records into a warehouse table fall back to full reload here, because an object store has no row to update.
A run that changes the field list is a special case. The folder is deleted and rebuilt from scratch, and the whole period set in Date Range is loaded again.
Troubleshooting
Renta reduces AWS responses to a short set of messages in the run log.
| Message | Cause | What to do |
|---|---|---|
| Insufficient permissions for the current credentials to access the specified S3 bucket. Please check your server access credentials, including your AWS Region. | AWS refused the request as unauthorized. The IAM policy is missing an action, the keys were rotated or disabled, or the connection points at the wrong region. | Check the policy against the four actions listed in Requirements, confirm the key pair is still active, and compare AWS region with the region of the bucket. |
| Invalid bucket name. Please check your server access credentials. | The value in AWS Bucket Name is not a valid S3 bucket name. | Enter the bare bucket name. Drop the s3:// scheme, any path after the name, and any trailing slash. |
A response Renta does not recognize never reaches the run log as is. It shows up as An error has occurred. Please contact the technical support team., which carries no AWS detail. Contact Renta support if you see that wording.
Ready to get started?
Build your data pipeline today or get a personalized demo. Start free!
Need help?
Get expert support to ensure your project succeeds. We're here to help!
Feature requests?
Help shape our product! Share your ideas for new features and integrations.