-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement S3 storage class for Streaming and External basic transfer adapters #3
Comments
This is a requirement for my team's project. We're in the middle of working on AWS S3 storage implementation. |
@tomeksabala that would be awesome! |
Thanks @shevron . I hope you don't mind if I ask you a few questions about the feature. While trying to implement My draft implementation looks like the following:
AWS S3 documentation has good examples on how to generate presigned post requests. They however return a set of fields which should be added to the request next to file to be uploaded: https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-presigned-urls.html#generating-a-presigned-url-to-upload-a-file This just seems odd. Could you explain why other Storage implementations are urlencoding fields data instead of passing them as usual POST |
@tomeksabala of course. The dict that is returned in If you can get AWS to sign a PUT and not a POST / form-data request, that should be the right way to do it. IIRC S3 has that API - I think this one can work. Git LFS clients expect (at least in Note that this does no longer applies if you're implementing |
@shevron This is very helpful, thanks! I've found a piece of docs explaining the I was planning to implement |
@tomeksabala If the PR doesn't become too big I'm totally fine with implementing it all in one go - up to you 👍 |
@shevron Thank you once again for all the help. I did manage to finish my work this week and I've submitted a PR. |
Implemented by @tomeksabala in #81 |
We can relatively easily implement S3 support for both streamed and direct-to-cloud storage modeled after our current Azure backend.
Can use https://github.com/datopian/node-git-lfs/tree/master/lib/store as a reference (although our architecture is different, the usage of S3 APIs should be similar).
The text was updated successfully, but these errors were encountered: