Presigned URL support in S3 Uploader

Does anybody else wish to see Presigned URL support in the S3 uploader?

Presigned URLs let you create time-limited URLs to access a specific resource / perform a specific operation in AWS. Here’s the AWS doc on it: https://docs.aws.amazon.com/AmazonS3/latest/dev/PresignedUrlUploadObject.html

Our use case: We use the backend to generate a time-limited URL to upload an object to our S3 bucket, that way we don’t need to create a special IAM user / access key for it.

Currently it’s possible to do this in Retool using the regular file picker/uploader and defining your bucket URL as a REST API resource, but it complicates things, and not 100% foolproof. After getting the presigned URL from the backend, you need to parse it into a state variable and then build/trigger the actual “uploader” query using the received params, filling in each parsed value. Make it an HTTP PUT and embed the {{filepicker.file}} in the binary-type body of the query. It works, I think it’s a little bit slow, not sure.

2 Likes