S3 upload not working in embed

Hello, I'm having an issue with S3 upload in Retool embed. The retool app is embedded using the react-retool package. When uploading a file, the request to

retool.our-domain.com/api/sign_s3_upload?

returns with the following error

{"error":true,"message":"no access key id given"}

The upload works when I open the app in Retool. Is there maybe any additional configuration we might be forgetting to set?

Thank you for any help, also happy to provide any additional info.

Tom

Hi @Tom_Psorn :slightly_smiling_face:,

The error message "The AWS Access Key Id you provided does not exist in our records" indicates an issue with your AWS credentials. It's possible the access key, the AWS Identity and Access Management (IAM) role, or user might have been deleted.

Here are some potential debugging steps to take:

  • Make sure that you're using the correct AWS Access Key ID and Secret Access Key.
  • Check if your AWS Access Key ID and Secret Access Key have been revoked.
  • If you're using an IAM role, make sure that the role has the necessary permissions to access S3.
  • If you're using an IAM user, make sure that the user has the necessary permissions to access S3.

Read here if you learn from reading or watch this if you prefer a video.

Hope that helps! Let me know if I can assist further.

Hi @AbbeyHernandez,

I work with @Tom_Psorn, so I will add more details:

The problem is really tied to S3 Upload component in embedded setup. It works fine when we access our app with its standard link. Which implies that the problem is not with our AWS Keys and IAM roles.

But it stops working when the Retool app is embedded in our admin system with Retool Embed feature. When we create Amazon S3 resource with the same credentials, queries build on top of this resource works just fine in embedded mode.

That leads me to think that the problem is limited to the S3 Upload component and how it handles secrets in embedded setup.

Best

Honza B.

Hi @Honza_Bartunek,

After some research, I uncovered this was an issue on older versions, before version 3.11, but has been resolved. What version of retool do you use?

If you're blocked by this, use a file button and write an with a Amazon S3 query in place of the S3 Uploader component.

Thanks!

We use Retool Cloud, so I guess we should always be using the most recent version, right? Currently it says v3.41.0-2ba305b (Build 164531). Possibly a regression?

If you're blocked by this, use a file button and write an with a Amazon S3 query in place of the S3 Uploader component.

That's exactly what we did already. It works well, but we use it to upload videos and according to docs there is 40MB file size limit for File Input, which might be a problem for us.

Thanks for you help!

Honza

Hello @Honza_Bartunek and @Tom_Psorn,

Thank you for bringing this to our attention. I was able to reproduce this bug and file a report. I understand your concerns regarding the 40MB file size limit and labeled this issue as a higher priority. I'll be in touch when this is resolved. :+1:

Thanks and apologies for any inconveniences this causes your team!

All the best,
Abbey

1 Like

That's great news for us! We really appreciate your fast response :pray: and look forward to hear from you.

Thank you so much!
Honza

1 Like