umbraco / Umbraco.StorageProviders

MIT License
30 stars 22 forks source link

Support for S3 media file storage #28

Open amit-ch opened 2 years ago

amit-ch commented 2 years ago

Earlier in v8, we used https://github.com/DannerrQ/Umbraco-S3-Provider for storing/retrieving media files from S3. Good to see support for Azure blob storage now but we would like to continue using S3 for media files.

Is there any plan to provide support for S3 storage provider

benmccallum commented 2 years ago

+1 , it seems @ronaldbarendse has a couple of PRs that might make this easier, so I'm hesitant to go ahead and copy-paste-adjust the Azure one if it's going to be a one-file-and-done for S3 after those PRs.

FYI, S3's client sdk (since v3.5) is async-only, so they're gonna need to be forced sync, but until the interface uses async methods there's not a lot that can be done there. Was previously discussed here.

snovak7 commented 2 years ago

I don't see problem with async on sync, Azure methods probably use the same pattern internally... Also, S3 doesn't have Image mechanism, which was tightly coupled to Azure.

Another thing is that "current" Azure Storage Providers could be dissected further since, CDN Media Url Provider could be re-used in S3.

I'm trying to do an integration with current limitations, will see how it works out.

snovak7 commented 2 years ago

I have this working, with limitations as described in previous comment.

Next step would be to add a "pre-processor" for media, to let's say strip metadata from the images, and maybe optimize images for upload to Storage Provider.

DennisGlindhart commented 2 years ago

I've made a S3-fork available here - https://github.com/DennisGlindhart/Umbraco.StorageProviders.S3 Early state, but basics seems to work.

ronaldbarendse commented 1 year ago

I don't expect Umbraco will be adding official S3 support anytime soon, so this will currently need to rely on community efforts.

Besides the fork @DennisGlindhart mentioned above, I'm also aware of https://github.com/adam-werner/Our.Umbraco.StorageProviders.AWSS3 (which is currently also the only one listed on the Marketplace).