---
title: "Process images stored in Amazon S3"
slug: "image-resizer-rotator-amazon-s3"
updated: 2026-10-09T18:07:22Z
published: 2026-10-09T18:07:22Z
canonical: "help.quickbase.com/image-resizer-rotator-amazon-s3"
---
> ## Documentation Index
> Fetch the complete documentation index at: https://help.quickbase.com/llms.txt
> Use this file to discover all available pages before exploring further.
# Process images stored in Amazon S3
Image Resizer/Rotator can resize or rotate images stored in your Amazon S3 bucket instead of in Quickbase file attachment fields. The record holds each image's S3 object key and file name; the processed image is written back to the same key in the same bucket, replacing the original.
## Before you start: Amazon S3 credentials
Image Resizer/Rotator connects to Amazon S3 with the access key ID, secret access key, region, and default bucket saved with your Quickbase Extensions account. Image Resizer/Rotator's own setup in the installation wizard has no Amazon S3 step, so the wizard doesn't save these for you.
- The access key ID and the region always come from your saved credentials. There are no parameters for them.
- Two parameters can override the saved values for one button: **s3bucket** (use a different bucket) and **s3secretaccesskey** (use a different secret key).
- If your account has no Amazon S3 credentials saved yet, submit a [technical support case](https://help.quickbase.com/docs/get-help-from-quickbase-technical-support). If you rotate the access key later, a Client Admin can update the saved keys in the Extensions Portal—see [Update your access key after setup](https://help.quickbase.com/quickbase-extensions/docs/en/cloud-provider-amazon-s3-setup#update-your-access-key-after-setup).
To create the bucket and an IAM user with an access key in AWS, follow [Step 1: Create a bucket](https://help.quickbase.com/quickbase-extensions/docs/en/cloud-provider-amazon-s3-setup#step-1-create-a-bucket) and [Step 2: Create an IAM user and access key](https://help.quickbase.com/quickbase-extensions/docs/en/cloud-provider-amazon-s3-setup#step-2-create-an-iam-user-and-access-key) in *Amazon S3 setup*.
> [!WARNING]
> Important
>
> Don't put your secret access key in a formula with **s3secretaccesskey**. Anyone who can view the formula field, or the link the button builds, can read the secret and use it to reach your bucket. Use your saved credentials instead.
## Step 1: Create the fields
For each image, create two **Text** fields on the record:
- **S3 Key**—the image's full object key (its path in the bucket), for example *projects/1042/site_photo_08_14.jpg*. It must match the object exactly.
- **File Name**—the name to use for the file, for example *site_photo_08_14.jpg*. It's saved with the object as its file name.
To rotate, also create a rotation field per image—see [Rotate images](https://help.quickbase.com/quickbase-extensions/docs/en/image-resizer-rotator-rotate-images).
## Step 2: Create the button
S3 buttons process one record (**recid**) and use these parameters:
| **Parameter** | **Value** |
| --- | --- |
| amazons3 | *y* |
| s3list | FIDs of the S3 Key fields, separated by periods |
| fnlist | FIDs of the File Name fields, one per S3 Key field |
| rslist (resize) | Resize percentages—values, not FIDs—one per image. Same meaning as **rsrate**: 50 halves each side. Whole numbers only, with no % sign (*50*, not *50%*). |
| rtlist (rotate) | FIDs of the rotation fields, one per image. **rotateval** isn't used for S3 images; the rotation always comes from these fields. |
| s3bucket (optional) | A bucket to use instead of your default bucket |
One of **rslist** or **rtlist** is required; otherwise the result reads *Error - Please supply a resize/rotate list*.
Give **s3list**, **fnlist**, and **rslist** or **rtlist** the same number of entries, in the same order. Unlike the file attachment lists, these aren't checked before processing starts: if one is shorter than **s3list**, the request stops partway with *We ran into an error processing your request. Please contact support if this continues to happen.*, and images earlier in the list may already have been processed.
### Example: resize
Resizes the image whose key is in field 119 to half its size:
```
var text url = "https://.../ImageResizer.aspx?" // your Image Resizer/Rotator server URL
& "clientid=Q#" // your Client ID
& "&appid=" & AppID()
& "&dbid=" & Dbid()
& "&recid=" & [Record ID#]
& "&amazons3=y"
& "&s3list=119" // S3 Key field
& "&fnlist=120" // File Name field
& "&rslist=50";
""
```
### Example: rotate
Use the *RotateImage.aspx* address and replace **rslist** with **rtlist**:
```
var text url = "https://.../RotateImage.aspx?" // your Image Resizer/Rotator server URL
& "clientid=Q#"
& "&appid=" & AppID()
& "&dbid=" & Dbid()
& "&recid=" & [Record ID#]
& "&amazons3=y"
& "&s3list=119"
& "&fnlist=120"
& "&rtlist=130"; // rotation field
""
```
The same parameters work in [batch processing](https://help.quickbase.com/quickbase-extensions/docs/en/image-resizer-rotator-batch-processing) arguments and [API requests](https://help.quickbase.com/quickbase-extensions/docs/en/image-resizer-rotator-api-and-pipelines). Images in S3 can be up to 2 GB. For the messages S3 requests can show, see [Image Resizer/Rotator messages and troubleshooting](https://help.quickbase.com/quickbase-extensions/docs/en/image-resizer-rotator-messages#amazon-s3).