Add Azure Blob Storage Adapter#143
Open
jopedroliveira wants to merge 4 commits intoelixir-waffle:masterfrom
Open
Add Azure Blob Storage Adapter#143jopedroliveira wants to merge 4 commits intoelixir-waffle:masterfrom
jopedroliveira wants to merge 4 commits intoelixir-waffle:masterfrom
Conversation
- Add Waffle.Storage.Azure implementing Waffle.StorageBehavior - Add Azure uploader with Shared Key authentication - Add SAS token generation for secure access - Add comprehensive documentation and examples - Add unit tests for Azure storage functionality - Update README with Azure configuration - Add Azure-specific configuration to storage definition - Add optional dependencies: req and timex Features: - Public and private access modes - SAS token generation for secure URLs - Custom Azure blob headers support - Multiple container support per definition - Environment variable configuration - Proper error handling and logging
- Fix pattern matching for Req.put/delete responses - Update tests to use public SAS functions - Ensure successful Azure Blob Storage uploads
|
I am not a maintainer of this project, but just wanted to say that's great, thank you! |
Author
|
@Ali-Doggaz I created a fork with this in case you need to use that! 💪 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add Azure Blob Storage Adapter
This PR adds an Azure Blob Storage adapter to Waffle, following the same structure and conventions as the existing Local and S3 adapters. The intention is to provide native Azure support without altering current behaviour.
Summary
Waffle.StorageBehaviorcallbacks (put/3,url/3,delete/3)New Modules
lib/waffle/storage/azure.ex— main adapter modulelib/waffle/storage/azure/uploader.ex— upload logiclib/waffle/storage/azure/sas.ex— SAS token generationdocumentation/examples/azure.md— usage guideUpdated Files
Waffle.Definition.Storage— added Azure-related lookupsmix.exs— optional dependencies (req,timex)README.md— new Azure configuration sectionConfiguration
Usage example
Store
MyApp.Avatar.store({upload, user})
Signed URL
MyApp.Avatar.url({file, user}, signed: true)
Delete
MyApp.Avatar.delete({file, user})
Tests
The PR includes test coverage for:
Compatibility
How to Test