Budibase / budibase

Low code platform for building business apps and workflows in minutes. Supports PostgreSQL, MySQL, MariaDB, MSSQL, MongoDB, Rest API, Docker, K8s, and more 🚀
https://budibase.com
Other
22.74k stars 1.57k forks source link

S3 getObject signedUrl #14314

Open cgtms opened 3 months ago

cgtms commented 3 months ago

Feature request Right now there is post endpoint to generate and return signedUrl to upload file https://github.com/Budibase/budibase/blob/374a1ba871be92fdc1f8106af4c4af4fdd711e96/packages/server/src/api/routes/static.ts#L45 There is a need to get signedUrl to download file. It would be function getSignedDownloadURL analogically to https://github.com/Budibase/budibase/blob/374a1ba871be92fdc1f8106af4c4af4fdd711e96/packages/server/src/api/controllers/static/index.ts#L314 The only difference would be parameter "getObject" instead of "putObject".

linear[bot] commented 3 months ago

BUDI-8539 S3 getObject signedUrl

mike12345567 commented 3 months ago

Hi @cgtms - i'm not quite sure I follow what the purpose of this new endpoint would be - would you provide a path to a file in MinIO/S3 and it would return a pre-signed URL to be able to download it?

The attachment URLs returned from the row API are already pre-signed URLs - how would an endpoint for generating pre-signed URLs to a specific path be used?

cgtms commented 3 months ago

Thank you for your reply @mike12345567 I connected custom S3 Minio Object Storage and I use "Upload to S3" component to put my files there properly. Now I need to download them with signed url and that is why I would need mentioned endpoint. In ideal situation there would be "on click" app action "Download file from s3" (as the opposite to "Upload file to S3" action) with datasource, bucket and key parameter. But for now endpoint would be enough.

cgtms commented 2 months ago

@mike12345567 @ConorWebb96 is there any chance to implement that endpoint?

ConorWebb96 commented 2 months ago

Hey @cgtms,

This is unlikely to be addressed in the near future. The engineering team has project work scheduled through the end of the year, and there are also a number of other issues that will likely take priority. As such, we don't have an ETA on when this might be completed.

I hope answers your question.